博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年8月14日

摘要: 方法一:时间复杂度(n^2)我们依次遍历整个序列,每一次求出从第一个数到当前这个数的最长上升子序列,直至遍历到最 后一个数字为止,然后再取dp数组里最大的那个即为整个序列的最长上升子序列。我们用dp[i]来存放序列1-i的最长上升子序列的长度,那么 dp[i]=max(dp[j])+1,(j∈[1, i-1]); 显然dp[1]=1,我们从i=2开始遍历后面的元素即可。View Code 1 #include<stdio.h> 2 3 int dp[1000]; 4 int a[1000]; 5 6 int main( ) 7 { 8 int i; 9 int j;10 ... 阅读全文

posted @ 2012-08-14 14:58 皇星客栈--Linux 阅读(1465) 评论(0) 推荐(1) 编辑