社区讨论
(大约只有在灌水区才能最快得到回复)求调这个
灌水区参与者 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 条回复,欢迎继续交流。
正在加载回复...