DP·最长递增子序列
<br />问题描述<br />设序列L={a1,a2,…,an}是n个不同的整数序列,序列L中最长递增子序列LIS={ak1,ak2,…,akm},其中k1<k2<…<km且ak1<ak2<…<akm。求最大的m值。<br />思路分析<br />1、把a1,a2,...,an排序,假设得到a'1,a'2,...,a'n,然后求a的a'的最长公共子串,这样总的时间复杂度为o(nlg(n))+o(n^2)=o(n^2);<br />2、动态规划的思路:<br />另设一辅助数组b,定义b[n]表示以a[n]
原创
2011-04-09 19:26:00 ·
628 阅读 ·
0 评论