poj 2533 Longest Ordered Subsequence (最细高挑儿序列)

poj 2533 Longest Ordered Subsequence (最长子序列)

简单最长子序列模版

#include"stdio.h"
#include"string.h"
int dp[1010];
int main()
{
    int i,j;
    int n;
    int a[1010];
    int max;
    while(scanf("%d",&n)!=EOF)
    {
        memset(dp,0,sizeof(dp));
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        
        dp[0]=1;
        for(i=1;i<n;i++)
        {
            max=0;
            for(j=0;j<i;j++)
            {
                if(a[i]>a[j])
                {
                    if(max<dp[j])
                        max=dp[j];
                }
            }
            dp[i]=max+1;
        }
        max=0;
        for(i=0;i<n;i++)
        {
            if(dp[i]>max)
                max=dp[i];
        }
            printf("%d\n",max);
    }
    return 0;
}