区间DP
eIectron
优美的代码是成功AC的第一步。看着那么多博客不再更新,这就是我几年后的状态吗?要是走了就再也不回来了。
展开
-
POJ 3280 Cheapest Palindrome(区间DP)
题意:给出一个字符串,你要把他凑成回文串,问最小花费。 解法:一开始以为只能在两边加减字母,然后一直wa。后来拿了别人的程序发现可以在中间加字母的。 dp一下,dp[i][j]表示把i - j的字符串凑成回文串的最小花费。 转移方程:如果i和j的字符相同,那么直接就是他们包围的字符串的最小花费。dp[i][j] = dp[i - 1][j - 1]. 如果不相同,那么就取两边变化的最小原创 2017-10-05 11:26:28 · 244 阅读 · 0 评论 -
南阳理工OJ 石子归并(经典区间DP)
点击打开链接 解法:一开始我愚蠢地认为一个一个并就可以了,但是样例都过不去。发现要区间区间地合并才对。那么转移方程就是dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + cnt[j] - cnt[i - 1]); dp[i][j]表示i到j合并起来的最小花费。cnt[i]是前i个的石子数目。 代码如下: #include #include原创 2017-10-06 11:59:30 · 240 阅读 · 0 评论