博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces711C 【DP】
阅读量:5332 次
发布时间:2019-06-15

本文共 1925 字,大约阅读时间需要 6 分钟。

题意:

有n个点,m种颜色,你要给n个点上没有颜色的点染色。每个点i对应染的颜色j有一个颜料消耗,p[i][j]是点i染成j颜色的花费,你必须保证有k段颜色的点,输出最少花费多少颜料。
还有一个就是本身有颜色不能变。。。
思路:
dp[i][j][k] := 前i个树,第i个树染j颜色,构成k段的最小花费

#include
#include
#include
#include
#include
using namespace std;typedef __int64 LL;const LL INF=1e14;const int N=1e2+10;int n,m,K;int a[N];LL p[N][N];LL dp[N][N][N];int main(){ scanf("%d%d%d",&n,&m,&K); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%I64d",&p[i][j]); if(K>n) { puts("-1"); return 0; }//初始化 for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) for(int k=0;k<=n;k++) dp[i][j][k]=INF;//对于头一个处理)满满的都是细节。 if(!a[1]) { for(int i=1;i<=m;i++) dp[1][i][1]=p[1][i]; } else dp[1][a[1]][1]=0; for(int i=2;i<=n;i++) { if(!a[i]) { for(int j=1;j<=m;j++) for(int k=1;k<=i;k++) for(int h=1;h<=m;h++) { if(j==h) dp[i][j][k]=min(dp[i][j][k],dp[i-1][h][k]+p[i][j]); else dp[i][j][k]=min(dp[i][j][k],dp[i-1][h][k-1]+p[i][j]); } } else { for(int k=1;k<=i;k++) for(int h=1;h<=m;h++) { if(a[i]==h) dp[i][a[i]][k]=min(dp[i][a[i]][k],dp[i-1][a[i]][k]); else dp[i][a[i]][k]=min(dp[i][a[i]][k],dp[i-1][h][k-1]); } } } LL ans=INF; for(int i=1;i<=m;i++) { ans=min(dp[n][i][K],ans); } if(ans==INF) puts("-1"); else printf("%I64d\n",ans); return 0;}

转载于:https://www.cnblogs.com/keyboarder-zsq/p/5934850.html

你可能感兴趣的文章
MTK笔记
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>