南京理工校赛 sequence

思路:求一个序列中不降子序列的个数,贪心思想,动规求解

<span style="font-size:14px;">#include <cstdio>
#include <cstring>
#include<iostream>
using namespace std;
int dp[10100],m;
int main()
{
    int n,b,t;
    cin>>t;
    while(t--)
    {
       scanf("%d",&n);
            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;
}</span>



你可能感兴趣的:(dp贪心)