POJ 2533 Longest Ordered Subsequence

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

最长上升子序列,dp

View Code
#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int cmp(const void*a,const void*b)

{

    return *(int*)b-*(int*)a;

}

int main()

{

    int n,i,j;

    int a[1100],dp[1100];

    while(~scanf("%d",&n))

    {

        for(i=0;i<n;i++)

            scanf("%d",a+i);

        for(i=0;i<1100;i++)

            dp[i]=1;

        for(i=0;i<n;i++)

            for(j=0;j<i;j++)

                if(a[i]>a[j]&&dp[i]<dp[j]+1)

                    dp[i]=dp[j]+1;

        qsort(dp,n,4,cmp);

        printf("%d\n",dp[0]);

    }

    return 0; 

}

 

你可能感兴趣的:(sequence)