标签:first 位置 out c代码 最长上升子序列 from tput int ast
此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置。
题目链接:http://poj.org/problem?id=2533
Description
Input
Output
Sample Input
7 1 7 3 5 9 4 8
Sample Output
4
Source
AC代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 using namespace std; 6 int ans,n,num[1002],line[1002]; 7 //line[i]的意义是已经算到第i个数的最长公共子序列 8 int main() 9 { 10 scanf("%d",&n); 11 for(int i = 1;i <= n;++ i) 12 scanf("%d",&num[i]),line[i] = 1; 13 for(int i = 2;i <= n;++ i) 14 for(int j = 1;j < i;++ j) 15 if(num[j] < num[i]) 16 line[i] = max(line[i],line[j]+1); 17 for(int i = 1;i <= n;++ i) 18 ans = max(ans,line[i]); 19 printf("%d\n",ans); 20 return 0; 21 }
POJ 2533 - Longest Ordered Subsequence(最长上升子序列) 题解
标签:first 位置 out c代码 最长上升子序列 from tput int ast
原文地址:http://www.cnblogs.com/shingen/p/7202050.html