UKE求调
查看原帖
UKE求调
964019
ybc2027_chenyibo楼主2024/1/20 11:15

此题其他网站AC,洛谷UKE是为什么

奇怪的马蜂

#include <bits/stdc++.h>
using namespace std;

int a[505];
int dp[505][505];

int main()
{
	int n;
	cin>>n;
	for (int i=1; i<=n; i++)
	{
		cin>>a[i];
	}
	memset(dp,0x3f,sizeof(dp));
	for (int i=1; i<=n; i++)
	{
		dp[i][i]=1;
	}
	for (int i=1; i<n; i++)
	{
		if (a[i]==a[i+1]) dp[i][i+1]=1;
		else dp[i][i+1]=2;
	}
	for (int len=3; len<=n; len++)
	{
		for (int i=1; i<=n-len+1; i++)
		{
			int j=i+len-1;
			for (int k=i; k<j; k++)
			{
				dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]);
			}
			if (a[i]==a[j])
			{
				dp[i][j]=min(dp[i][j],dp[i+1][j-1]);
			}
		}
	}
	cout<<dp[1][n];
	return 0;
}
2024/1/20 11:15
加载中...