longest incresing sequence

动态规划基本题目,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

 

 

代码之后给出

posted @ 2014-09-17 20:34  clq.lib  阅读(204)  评论(0编辑  收藏  举报