2 条题解

  • 1
    @ 2025-7-31 11:22:27
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e6+520;
    int t,x,y,n,dp[N],maxx,a[N];
    int main(){
    	cin>>t;
    	while(t--){
    		cin>>n;
    		for(int i=1;i<=n;i++)
    		cin>>a[i];
    		for(int i=1;i<=n;i++){
    			dp[i]=1;
    			for(int j=1;j<i;j++)
    			if(a[i]<a[j])
    			dp[i]=max(dp[i],dp[j]+1);
    		maxx=max(maxx,dp[i]);
    	}
    	for(int i=n;i>=1;i--){
    		dp[i]=1;
    		for(int j=n;j>i;j--){
    			if(a[i]<a[j])
    			dp[i]=max(dp[i],dp[j]+1);
    		} 
    		maxx=max(dp[i],maxx);
    	}
    	cout<<maxx<<endl;
    	maxx=0;
    }
    	return 0;
    }
    //唯一
    
    

    信息

    ID
    3120
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    198
    已通过
    59
    上传者