区间dp
ivancr
这个作者很懒,什么都没留下…
展开
-
poj 1651
题意:给定一个n个数的串,首尾不能删除,没删除一个数有一个代价,即与相邻两个数的乘积,求删除所有数后代价最小 分析:dp(i,j)表示区间i~j删除所有数后最小代价 对于区间i~i+2有一个初始的代价,即a[i]*a[i+1]*a[i+2] 枚举区间j从i+3~n dp(i,j) = dp[i+1][j]+a[i]*a[i+1]*a[j] 删除的数为i+1,所以应是删除i原创 2015-10-30 21:31:25 · 238 阅读 · 0 评论 -
poj 2955【区间dp】
题意:分析一个串中,()和[]匹配的最大数目,匹配一次+2 分析:dp(i,j)表示区间i~j括号匹配的最大值 i从后往前推,初始dp[i][j] = dp[i+1][j] j从i+1~len,若中间存在某个k使得str[i] 与 str[k] 匹配,dp(i,j) = max(dp(i,j),dp[i+1][k-1]+dp[k][j]+2) 这题算是区间dp的入门题了。原创 2015-10-30 19:50:41 · 352 阅读 · 0 评论