zoj 2136 Longest Ordered Subsequence(最长上升子序列,第二次写 = =)
2010-11-06 21:43
363 查看
记得CW说还要弄个数组记录前面的子序列的终止元素的那个值 = = 然后弄了仨数组,鼓道了半天,不对。。。
看了以前写的,很简洁啊,理解乐 = =。。
求出前面小于i的那个存的长度的最大值去更新i要存的值
看了以前写的,很简洁啊,理解乐 = =。。
求出前面小于i的那个存的长度的最大值去更新i要存的值
#include <stdio.h> #include <stdlib.h> #include <iostream> #include <memory.h> using namespace std; int main(void) { int ncases,n; int los[1002],max[1002]; cin >> ncases; while( ncases-- ) { cin >> n; memset(max,0,sizeof(max)); for(int i=1; i<=n; i++) cin >> los[i]; max[1] = 1; for(int i=2; i<=n; i++) { int maxl = 0; for(int k=1; k<i; k++) if( los[i] > los[k] ) { if( max[k] > maxl) maxl = max[k]; } max[i] = maxl+1; } int outputmax = 0; for(int i=1; i<=n; i++) if( max[i] > outputmax ) outputmax = max[i]; cout << outputmax << endl ; if( ncases ) cout << endl; } return 0; }
相关文章推荐
- ZJU2136 Longest Ordered Subsequence - 最长上升子序列nlogn
- poj-2533 Longest Ordered Subsequence 【最长上升子序列】
- OpenJudge 2757 最长上升子序列 / Poj 2533 Longest Ordered Subsequence
- N - Longest Ordered Subsequence POJ 2533 (最长上升子序列 )
- POJ 2533 Longest Ordered Subsequence(最长上升子序列长度、O(nlogn))
- Longest Ordered Subsequence与最少拦截系统 DP+贪心(最长上升子序列及最少序列个数)
- poj 2533 Longest Ordered Subsequence 最长上升子序列,nlogn复杂度
- POJ_2533 Longest Ordered Subsequence【DP】【最长上升子序列】
- POJ 2533 Longest Ordered Subsequence (最长上升子序列 DP优化)
- POJ 2533-Longest Ordered Subsequence(dp_最长上升子序列)
- POJ 2533 Longest Ordered Subsequence(最长上升子序列(NlogN)
- 最长上升子序列 LIS(Longest Increasing Subsequence)
- Longest Ordered Subsequence 最长上升子序列
- poj_2533 Longest Ordered Subsequence(最长上升子序列)
- Longest Ordered Subsequence POJ - 2533 (最长上升子序列)
- poj 2533 Longest Ordered Subsequence(最长上升子序列)
- 最长上升子序列 LIS(Longest Increasing Subsequence)
- poj2533 Longest Ordered Subsequence(最长上升子序列个数)
- POJ 2533 Longest Ordered Subsequence(DP最长上升子序列O(n^2)&&O(nlogn))
- Longest Ordered Subsequence(最长单调递增子序列)poj2533+动态规划