80分WA#1#2求助
  • 板块P1410 子序列
  • 楼主qsn123
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/12 00:08
  • 上次更新2024/9/12 00:08:49
查看原帖
80分WA#1#2求助
1078013
qsn123楼主2024/9/12 00:08
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
const int N=2050;
int dp[N][N]={0};
int s[N]={0};
int main()
{
	int T,n;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&s[i]);
		}
		for(int i=0;i<=n;i++)
		{
			dp[i][0]=-inf;
			for(int j=1;j<=n;j++)
			{
				dp[i][j]=inf;
			}
		}
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
			{
				if(i-j-1>=0&&s[i]>dp[i-1][i-j-1])dp[i][j]=s[i-1];
				if(s[i]>s[i-1])dp[i][j]=min(dp[i][j],dp[i-1][j]);
			}
		}
		if(dp[n][n/2]==inf)printf("No!\n");
		else printf("Yes!\n");
	}
	return 0;
}

已通过类似题目p4728双递增序列

2024/9/12 00:08
加载中...