P5189 [COCI2009-2010#5] ZUMA 题解
容易想到区间 dp,考虑设计状态。
首先如果只有
转移需要分类讨论一下。
首先,如果
然后也可以由
即
代码:
const int N=110;
int n,m;
int a[N],f[N][N][N];
int main(){
memset(f,0x3f,sizeof(f));
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
for(int j=0;j<m;j++)
f[i][i][j]=m-1-j;
}
for(int len=2;len<=n;len++)
for(int i=1;i<=n-len+1;i++){
int j=i+len-1;
for(int k=m-1;k>=0;k--){
if(k==m-1)
f[i][j][k]=min(f[i][j][k],f[i+1][j][0]);
else
f[i][j][k]=min(f[i][j][k],f[i][j][k+1]+1);
if(a[i]==a[i+1])
f[i][j][k]=min(f[i][j][k],f[i+1][j][min(k+1,m-1)]);
for(int l=i+1;l<j;l++)
if(a[i]==a[l+1])
f[i][j][k]=min(f[i][j][k],f[i+1][l][0]+f[l+1][j][min(k+1,m-1)]);
}
}
cout<<f[1][n][0]<<endl;
return 0;
}
标签:
题解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现