LIS

来源:互联网 发布:淘宝卖家需要哪些软件 编辑:程序博客网 时间:2024/05/01 10:42
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>using namespace std;const int maxn=1e5+10;int n,a[maxn],dp1[maxn],dp2[maxn];int main(){    int t;    scanf("%d",&t);    while(t--)    {        while(~scanf("%d",&n))        {            if(n==0)break;            memset(dp1,0,sizeof(dp1));            memset(dp2,0,sizeof(dp2));            for(int i=1; i<=n; i++)            {                scanf("%d",&a[i]);            }            for(int i=1; i<=n; i++)            {                for(int j=i-1; j>=0; j--)                {                    if(a[i]>a[j])                        dp1[i]=max(dp1[i],dp1[j]+1);                }            }            for(int i=1; i<=n; i++)            {                for(int j=1; j<i; j++)                {                    if(a[i]<a[j])                        dp2[i]=max(dp2[i],dp2[j]+1);                }            }            sort(dp1+1,dp1+n+1);            sort(dp2+1,dp2+n+1);            int max1=dp1[n];            int max2=dp2[n];            int maxi=max(max1,max2);            printf("%d\n",maxi);        }    }    return 0;}

0 0
原创粉丝点击