POJ 2533 Longest Ordered Subsequence

求最长递增数列的长度。。。

O(n^2)的。

#include <stdio.h>
int main()
{
    int n,i,j,a[2100],dp[2100];
    scanf("%d",&n);
    for (i=0; i<n; i++)
    {
        scanf("%d",a+i);
        dp[i]=1;
    }
    dp[2000]=-1;
    for (i=0; i<n; i++)
    {
        for (j=0; j<i; j++)
        {
            if (a[i] > a[j])
            {
                dp[i]=dp[i]>dp[j]+1?dp[i]:dp[j]+1;
            }
        }
        dp[2000]=dp[i]>dp[2000]?dp[i]:dp[2000];
    }
    printf("%d\n",dp[2000]);
}


你可能感兴趣的:(POJ 2533 Longest Ordered Subsequence)