SDUT 1299 最长上升子序列
很水的DP= =基本上都不能叫DP了,有点贪心的成分了。
题目链接http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1299
View Code
1 #include<stdio.h> 2 #include<string.h> 3 int b[1100],maxlen[1100]; 4 int main() 5 { 6 int n,m,i,j; 7 scanf("%d",&n); 8 for(i=1;i<=n;i++) 9 { 10 scanf("%d",&b[i]); 11 } 12 maxlen[1]=1; 13 for(i=2;i<=n;i++) 14 { 15 m=0; 16 for(j=1;j<i;j++) 17 { 18 if(b[j]<b[i]) 19 if(m<maxlen[j]) 20 m=maxlen[j]; 21 } 22 maxlen[i]=m+1; 23 } 24 int maxl=-1; 25 for(i=1;i<=n;i++) 26 { 27 if(maxl<maxlen[i]) 28 maxl=maxlen[i]; 29 } 30 printf("%d\n",maxl); 31 return 0; 32 }