POJ 2533 Longest Ordered Subsequence(最长上升子序列)

题目:http://poj.org/problem?id=2533

代码:

#include<stdio.h>
#include<string.h>

using namespace std;

int main()
{
    int n;
    scanf("%d",&n);
    int a[1005]= {0};
    int d[1005]= {0};
    for(int i=0; i<n; i++)
    {
        scanf("%d",&a[i]);
    }
    int maxn=0;
    for(int i=0; i<n; i++)
    {
        d[i]=1;
        for(int j=0; j<i; j++)
        {
            if(a[i]>a[j]&&d[i]<d[j]+1)
            {
                d[i]=d[j]+1;
            }
        }
        if(maxn<d[i])
            maxn=d[i];
    }
    printf("%d\n",maxn);
}


你可能感兴趣的:(POJ 2533 Longest Ordered Subsequence(最长上升子序列))