线性DP
muczzcy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线性动态规划——专题
定义: 线性DP问题的子状态与父状态之间往往相差一个元素,所以子状态通过添加一个增量而转换到父状态。从最小的子问题到原问题,一层一层的状态转移呈现出线性递增的关系,所以称为线性DP。 经典的线性DP问题有最大字段和、最长公共子序列、最长回文子序列、最长不下降(下降)子序列等等。。。 大部分的线性DP都是1维的。 陆续更新线性DP的题。原创 2014-10-16 12:36:44 · 1541 阅读 · 0 评论 -
POJ 2479 Maximum sum
题意:给你一个数列,求出数列中不相交的两个子段和,要求和最大。 Sol:对于每个i来说,求出 [ 0 ~ i-1 ] 的最大子段和以及 [ i ~ n-1 ] 的最大子段和,在加起来,求一个最大的就可以了。 [ 0 ~ i-1 ] 的最大子段和从左向右扫描 , [ i ~ n-1 ] 从右向左扫描。 复杂度O(n) #include #include using namespace原创 2014-10-18 20:34:34 · 744 阅读 · 0 评论 -
POJ 1458 Common Subsequence
题意:求LCS Sol:经典的 LCS。 if ( i==0 || j==0 ) dp [ i , j ] = 0 ; else if ( X[ i ] == Y [ j ] ) dp [ i-1 , j-1 ] + 1; else dp [ i, j ] = max ( dp[ i - 1 , j ] , dp [ i , j-1 ] ) #include #i原创 2014-10-18 20:48:12 · 722 阅读 · 0 评论
分享