求助 P4170 [CQOI2007] 涂色
  • 板块灌水区
  • 楼主funeral
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/8 16:40
  • 上次更新2024/7/8 17:39:35
查看原帖
求助 P4170 [CQOI2007] 涂色
1024189
funeral楼主2024/7/8 16:40

代码

#include<bits/stdc++.h>
using namespace std;
int dp[55][55];
string s,n;

int main(){
	cin>>s;
	int L=s.size();
	memset(dp,127,sizeof(dp));
	for(int i=1;i<=L;i++)dp[i][i]=1;
	for(int i=0;i<L;i++){
		n[i+1]=s[i];
	}
	
	
	for(int len=2;len<=L;len++){
		for(int i=1;i<=L-len+1;i++){
			int l=i,r=i+len-1;
			if(n[l]==n[r])dp[l][r]=dp[l+1][r];
			else{
				for(int j=l;j<r;j++){
					dp[l][r]=min(dp[l][r],dp[l][j]+dp[j+1][r]);
				}
			}
			
		}
	}
	cout<<dp[1][L];
	return 0;
}

n 是转换后方便使用的。 但是在定义 n 的时候为什么字符串会 RE ,需要用字符数组?

字符串

字符数组

2024/7/8 16:40
加载中...