WA 70分 求助
查看原帖
WA 70分 求助
1246899
zxzzgq楼主2024/3/17 14:10
#include<bits/stdc++.h>
using namespace std;
long long n,h[2001],dp[2001][2001][2]; 
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++) 
	{
		cin>>h[i];
		dp[i][i][0]=dp[i][i][1]=1;
	}
	for(int len=1;len<=n;len++)
	{
		for(int i=1;i+len-1<=n;i++)
		{
			int j=i+len-1;
			if(h[i]<h[i+1])
				(dp[i][j][0]+=dp[i+1][j][0]);
			if(h[i]<h[j])
				(dp[i][j][0]+=dp[i+1][j][1]);
			if(h[i]<h[j])
				(dp[i][j][1]+=dp[i][j-1][0]);
			if(h[j-1]<h[j])
				(dp[i][j][1]+=dp[i][j-1][1]);
				dp[i][j][0]%=19650827;
				dp[i][j][1]%=19650827;
		}
	}
	cout<<(dp[1][n][1]+dp[1][n][0])%19650827/2;
	return 0;
}
2024/3/17 14:10
加载中...