-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
규칙발견실패규칙을 찾지 못함규칙을 찾지 못함
Description
⚠️ 나의 풀이
오늘 일자에 상담을 하는 경우와 하지 않는 경우 중 max값을 저장하려고 함.
❗️ 오답 원인 분석
- 각 일자별 상담종료일자(상담기간)를 어떻게 고려할지 생각해보아야 함.
🔑 풀이 핵심
dp[i] = max(P[i] + dp[end],dp[i+1])- 점화식에 맞춰서 배열 크기 잡기
for(int i= N; i>0; i--){
int end = T[i] + i;
if(T[i] + i - 1 > N) dp[i] = dp[i+1]; //만료일자가 N보다 크면 안됨
else dp[i] = max(P[i] + dp[end],dp[i+1]);
}예를 들어 5일차는 소요일수가 2일. 2일 소요되면 6일차 일을 진행못함
=> 5일차 일을 진행했을 경우 vs 5일차 일을 하지 않고 6일차 일을 진행했을 경우
=> 5일차 일을 진행했을 경우 = 5일차 일을 진행한 금액 + 5일차 일이 종료되는 날에 일을 진행했을 경우
=> max(dp[i+1], P[i] + dp[end]);
Metadata
Metadata
Assignees
Labels
규칙발견실패규칙을 찾지 못함규칙을 찾지 못함