区间DP
区间DP
_7许
%
展开
-
【区间DP first】POJ 2955 Brackets
POJ 2955 Brackets 如果s[st] == s[ed],那么dp[st][ed] = dp[st + 1][ed - 1] + 2。(这个放在枚举断点之前)其实想想确实是这样的,两端相等,那么就该初始化为去头去尾的中间的子串的dp值再加上2 然后就开始枚举断点,更新dp为尽可能的大,大区间等于两个小区间相加 区间DP的一般步骤: 枚举长度 枚举起点 枚举断点(更新dp)...原创 2020-01-06 21:50:15 · 126 阅读 · 0 评论 -
【区间DP】Light OJ 1422 - Halloween Costumes
Light OJ 1422 - Halloween Costumes 当a[st] == a[ed]时,非常容易知道完全可以把中间的衣服脱掉只剩最里面那一件,所以容易得到dp[st][ed] = dp[st][ed - 1] 否则,就还是采用枚举断点的方式,等于小区间相加也就是dp[st][ed] = dp[st][mid] + dp[mid + 1][ed] something: ...原创 2020-01-06 19:52:44 · 137 阅读 · 0 评论 -
【区间DP】HDU 4632 Palindrome subsequence
HDU 4632 Palindrome subsequence 题意:让找一个字符串中回文子序列的最大数量。 举两个栗子: //aaa /* len = 2 */ dp[1][2] = dp[1][1] + dp[2][2] + 1 = 3; dp[2][3] = dp[2][2] + dp[3][3] + 1 = 3; /* len = 3 */ dp[1][3] = dp[1][2]...原创 2020-01-06 14:24:41 · 136 阅读 · 0 评论