社区讨论

(大约只有在灌水区才能最快得到回复)求调这个

灌水区参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo7fhj0m
此快照首次捕获于
2023/10/27 00:58
2 年前
此快照最后确认于
2023/10/27 00:58
2 年前
查看原帖
P4170 [CQOI2007]涂色很普通的区间dp,但是小fw我莫名wa了六个点
CPP
#include<bits/stdc++.h>
using namespace std;
string s;
int dp[1001][1001];
int main()
{
	//ios::sync_with_stdio(false);
	cin>>s;
	int n=s.size()-1;
	for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
	dp[i][j]=1e9+7;
	for(int i=1;i<=n;i++)
		dp[i][i]=1;
	for(int l=2;l<=n;l++)
	for(int i=1,j=l;i<=n,j<=n;i++,j=i+l-1)
	{
		if(s[i]==s[j])
			dp[i][j]=min(dp[i][j-1],dp[i+1][j]);
		else
			for(int k=i;k<j;k++)
				dp[i][j]=min(dp[i][k]+dp[k+1][j],dp[i][j]);
	}
	cout<<dp[1][n]<<endl;
	return 0;
}

求调,我觉得我这代码和题解只差变量名不一样了(

回复

3 条回复,欢迎继续交流。

正在加载回复...