动态规划基本题目,longest incresing sequence,找出序列中的最长递增子序列;
例如给出序列{8,3,5,2,4,9,7,11},
其中最长递增子序列为{3,5,9,11}或{3,5,7,11}或{3,4,9,11}或{3,4,7,11},子序列按元素递增,序列长度都为4;
子问题:第i处的最长子序列问题
定义问题:
阶段:后序,到第i项为阶段i;
状态:到i处的最长子序列为dp[i];
决策:dp[i]=max{dp[j]}+1,i<j<=n,a[i]<a[j]
有了上述公式既可以建立动态表dp;
Array | 8 | 3 | 5 | 2 | 4 | 9 | 7 | 11 |
dp | 3 | 4 | 3 | 4 | 3 | 2 | 2 | 1 |
代码之后给出
原文地址:http://www.cnblogs.com/iois/p/3977274.html