hdu1257 最少拦截系统

求一个序列中不升子序列的个数,贪心思想。和南京理工大学第八届校赛sequence相似,那个题求的是不降子序列个数,可以看一下加深理解题目链接。

下面是本题代码:

#include <cstdio>
#include <cstring>
#include<iostream>
using namespace std;
const int maxn=30000;
int dp[1010],m;
int main()
{
    int n,b;
    while(scanf("%d",&n)!=EOF)
    {
        m=0;
        dp[1]=0;
        for(int i=0; i<n; i++)
        {
            scanf("%d",&b);
            int j;
            for(j=1;j<=m;j++)
            {
                if(dp[j]>=b)
                    {dp[j]=b;break;}
            }
            if(j>m)
            {
                dp[++m]=b;
            }
        }
        printf("%d\n",m);
    }
    return 0;
}


你可能感兴趣的:(hdu1257 最少拦截系统)