思路:求一个序列中不降子序列的个数,贪心思想,动规求解
<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>