////////////////////////////////////
//最长升序数
//用贪心法
#include<iostream>
using namespace std;
int a[1005];
int st[1005][2];

 


int main()
{
    int i,j,n,num,max,sta;
    cin>>n;
    while(n--)
    {
        cin>>num;
        for(i=0;i<num;i++)
            cin>>a[i];
        st[0][0]=-1;
        st[0][1]=1;
        for(i=1;i<num;i++)
        {
            max=0;
            sta=-1;
            for(j=0;j<i;j++)
                if(a[i]>a[j])
                    if(st[j][1]>max)
                    {
                        max=st[j][1];
                        sta=j;
                    }
            st[i][1]=max+1;
            st[i][0]=sta;
        }
        max=0;
        for(i=0;i<num;i++)
            if(st[i][1]>max)
                max=st[i][1];
        cout<<max<<endl;
        if(n)
            cout<<endl;
    }
    return 0;
}

 

 

 

posted on 2010-05-12 11:11  VRS  阅读(211)  评论(0编辑  收藏  举报