LCIS

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int n,la,lb,a[510],b[510],f[510];
int lcis()
{
    memset(f,0,sizeof(f));
    int k,i,j,maxn=-1;
    for(i=1;i<=la;i++)
    {
            k=0;
            for(j=1;j<=lb;j++)
            {
                    if(a[i]==b[j] && f[k]+1>f[j])
                                  f[j]=f[k]+1;
                    if(a[i]>b[j] && f[k]<f[j])
                                 k=j;
            }
    }
    for(i=1;i<=lb;i++)
    {
                     if(f[i]>maxn)
                                  maxn=f[i];
    }
    return maxn;
}
void read()
{
     int i;
     scanf("%d",&n);
     while(n--)
     {
               scanf("%d",&la);
               for(i=1;i<=la;i++)
                       scanf("%d",&a[i]);
               scanf("%d",&lb);
               for(i=1;i<=lb;i++)
                       scanf("%d",&b[i]);
               printf("%d\n",lcis());
     }
}
int main()
{
    read();
    return 0;
}

  

posted @ 2015-11-04 21:48  HELLO----WORLD  阅读(392)  评论(0编辑  收藏  举报