公式
H - 休暇/Vacation 解説
by
H - 休暇/Vacation 解説
by
kyopro_friends
次のようなDPにより解くことができます。
\(DP[i][j][f] = i\) 日目までに \(j\) 日間宿題をし、\(j\) 日目に宿題を (\(f\) ? する : しない) ときの、\(i\) 日目までの楽しさの合計の最大値
\(i+1\) 日目に宿題をするか遊ぶかにより、次のように遷移します。
- \(DP[i+1][j][{\rm True}] = DP[i][j-1][{\rm False}]\)
- \(DP[i+1][j][{\rm False}] = \max(DP[i][j][{\rm True}]+A_{i+1},DP[i][j][{\rm False}]+A_{i+1})\)
求める答えは \(\max(DP[N][M][{\rm False}],DP[N][M][{\rm True}])\) です。
(問題文では「\(M\) 日以上」とありますが、\(M\) 日より多くしても楽しさが増えることはないため、\(M\) 日ちょうどであるとしてよいです)
投稿日時:
最終更新: