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 }

你可能感兴趣的:(序列)