#include <stdio.h>
int main()
{
int N,m;
int i,j,preMax,maxNum;
int fire[20];
int test[20];
scanf("%d",&N);
while(N--){
scanf("%d",&m);
for(i=0;i<m;i++){
scanf("%d",&fire[i]);
test[i]=1;
preMax=0;
for(j=0;j<i;j++){
if(fire[j]>fire[i])
preMax=(preMax>test[j]?preMax:test[j]);
}
test[i]=preMax+test[i];
}
maxNum=1;
for(i=0;i<m;i++)
if(maxNum<test[i])
maxNum=test[i];
printf("%d\n",maxNum);
}
return 0;
}
- 简单的动态规划