蒟蒻求助
查看原帖
蒟蒻求助
749219
Eva_91418楼主2024/7/18 19:28
#include<bits/stdc++.h>
using namespace std;
int dp[10005][10005],n;
string s;
int main()
{
	cin>>n;
	cin>>s;
	for(int i=1;i<=n;i++)dp[i][i]=1;
	for(int len=1;len<=n;len++)
	{
		for(int i=1;i+len<=n+1;i++)
		{
			int ends=i+len-1;
			for(int j=i;j<ends;j++)
			{
				if(s[i]==s[ends])dp[i][ends]=min(dp[i+1][ends],dp[i][ends-1]);
				else dp[i][ends]=min(dp[i][ends],dp[i][j]+dp[j+1][ends]);
			}
		}
	 } 
	cout<<dp[1][n];
	return 0;
	
}

大佬捞捞 蒟蒻区间dp没搞明白
参考一顿tj还有模板愣是没搞出来……

2024/7/18 19:28
加载中...