线性DP
muczzcy
这个作者很懒,什么都没留下…
展开
-
线性动态规划——专题
定义:线性DP问题的子状态与父状态之间往往相差一个元素,所以子状态通过添加一个增量而转换到父状态。从最小的子问题到原问题,一层一层的状态转移呈现出线性递增的关系,所以称为线性DP。经典的线性DP问题有最大字段和、最长公共子序列、最长回文子序列、最长不下降(下降)子序列等等。。。大部分的线性DP都是1维的。陆续更新线性DP的题。原创 2014-10-16 12:36:44 · 1470 阅读 · 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 · 700 阅读 · 0 评论 -
POJ 1458 Common Subsequence
题意:求LCSSol:经典的 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 · 669 阅读 · 0 评论