当前位置: 代码迷 >> 综合 >> 大坑!Codeforce DP题总结(持续更新)
  详细解决方案

大坑!Codeforce DP题总结(持续更新)

热度:62   发布时间:2023-12-21 07:42:09.0

个人非常喜欢做DP题,因为DP题有着特殊的数学美感持续不断吸引着我,不过最近因为事情繁忙,故好长时间没有刷DP题了,现在空下来,是时候重操旧业了,就从Codeforce上的题入手,至于为什么选这上面的题,因为目前DP题的走向趋向于状态方程极度隐蔽化!!! 而Codeforce上的题向来以巧妙著称,DP题就更是妙上加妙,所以感觉刷这DP的题能让人更上时代。


467C  George and Job

题目描述:

http://codeforces.com/problemset/problem/467/C

大致思路:

dp[i][j]代表前i个数中拿了j次m个数的最优情况,dp[i][j]=max(dp[i][j],dp[i-1][j-1],dp[i-m][j-1]+sum(i)-sum(i-m)); 5000*5000从空间上来说浪费太多,故用滚动数组更好,细节自己处理一下。

参考代码:

http://codeforces.com/contest/467/submission/7836144


466D Increase Sequence

题目描述:

http://codeforces.com/problemset/problem/466/D

大致思路:

dp[i][j]表示前i个数中还留有j个右开区间时的最优情况,dp[n][0]就是最终答案,然后考虑到i到i+1的情况,当且仅当i的右开区间等于h-a[i+1]或h-a[i+1]-1时有解,分类情况讨论一下,即可得出状态转移方程。

参考代码:

http://codeforces.com/contest/466/submission/7910930


463D Gargari and Permutations

题目描述:

http://codeforces.com/problemset/problem/463/D