GDUT 排位赛2.19 C
题目:Moortal Cowmbat
题目链接:https://codeforces.ml/group/5yyKg9gx7m/contest/269717/problem/C
题目描述:
给出小写字母字符串和改变某个字母的代价表,求把字符串改位必须由不小于k个相同字母组成字符串组成的字符串。
题目分析;
步骤1:把代价表通过ploy更新为最小代价表。
步骤2:做一个把字符串全改为一个字母的前缀和表。
步骤3:利用前缀和表dp最佳答案。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
char ch[100005];
ll a[26][26],dp[100005][26],f[100005][26];
int main()
{int i,n,m,k,j,p;ll mi;scanf("%d%d%d",&n,&m,&k);getchar();for(i=1;i<=n;i++){scanf("%c",&ch[i]);ch[i]-='a'; //方便访问代价表}for(i=0;i<m;i++)for(j=0;j<m;j++)scanf("%lld",&a[i][j]);for(p=0;p<m;p++) //更新代价表for(i=0;i<m;i++)for(j=0;j<m;j++)a[i][j]=min(a[i][j],a[i][p]+a[p][j]);for(i=1;i<=n;i++) //做前缀和表for(j=0;j<m;j++)dp[i][j]=dp[i-1][j]+a[ch[i]][j];for(i=k;i-k<k&&i<=n;i++) //前k个字母必定相同for(j=0;j<m;j++) //2k前无法更新f[i][j]=dp[i][j];for(;i<=n;i++)for(j=0;j<m;j++){for(mi=f[i-k][0],p=1;p<m;p++)mi=min(mi,f[i-k][p]); //先找出最佳更新前k位点f[i][j]=min(mi-dp[i-k][j]+dp[i][j],f[i-1][j]+a[ch[i]][j]); //前一位和前k位跟新}for(i=1,mi=f[n][0];i<m;i++) mi=min(mi,f[n][i]); //找最佳方案printf("%lld\n",mi);return 0;
}
GDUT 排位赛2.19 C相关推荐
- GDUT 排位赛2.19 D
题目:Meetings 题目链接: https://codeforces.ml/group/5yyKg9gx7m/contest/269717/problem/D 题目描述: 在一条路上各不同点上有给 ...
- GDUT 排位赛2.19 E
题目:Milk Visits 题目链接:https://codeforces.ml/group/5yyKg9gx7m/contest/269717/problem/E 题目描述: 给出树状图,每个点上 ...
- GDUT 排位赛2.19 G
题目:Livestock Lineup 题目链接:https://codeforces.ml/group/5yyKg9gx7m/contest/269717/problem/G 题目描述: 给出一定要 ...
- GDUT 寒假排位赛三
[题目链接:]http://codeforces.com/group/NVaJtLaLjS/contest/238202 感想 emmmm,这套题有个特点,代码量小的考思维,而那些一眼看过去思路就有了 ...
- 20.2.19排位赛G
[题目大意] 有8只牛分别为Bessie, Buttercup, Belinda, Beatrice, Bella, Blue, Betsy, and Sue,有n(1<=n<=7)条信息 ...
- 团队程序设计天梯赛-3.19排位赛总结
文章目录 7-1 冠军魔术 (10 分) 题目 知识点 代码 7-2 单词长度 (10 分) 题目 注意点 代码 7-3 组个最小数 (15 分) 题目 知识点 代码 7-4 检查密码 (15 分) ...
- GDUT 寒假排位赛二
直接看题 [题目链接]: http://codeforces.com/group/NVaJtLaLjS/contest/238204 A. Taming the Herd(签到题) 题意: 有一张表, ...
- 神武3 服务器维护公告,2021年3月19日更新公告
2021年3月19日更新公告 关键字: 发布时间:2021-03-19 本周重点更新内容: 1.半价转门派及重置属性预告 2.新增全明星名人堂 3.三界仙魔录 4.一键附魔功能限服开启 此外还对页签模 ...
- [又值奥运季] 2016年里约奥运会--8月19日赛事
// 1. 20160819_0000_室内女子排球_半决赛 2. 20160819_0000_花游团体_技术自选 3. 20160819_0005_帆船帆板男子帆船49er级_奖牌轮 4 ...
最新文章
- Java计时器Timer和TimerTask用法总结(源码)
- 回头验卦,占IT公司例中淘宝案例之总结
- Linux C编程--进程介绍2--exec函数
- 采购订单更改日期的妙用
- 一步步编写操作系统 26 打开A20地址线
- linux首次安装mysql密码是多少,Linux小白,初次安装MySQL,大神请绕路
- unity三维向量变化为角度_三维旋转
- Mybatis-plus 将字段更新为null
- (1) 还原二叉树 (25 分)
- ActiveReports 9 新功能:创新的报表分层设计理念
- python3.6 编程技巧总结
- 如何快速成为数据分析师
- 在本地机上使用VNC远程连接CentOs7
- win10计算机磁盘图标,主编教你win10系统无法正常显示硬盘图标的方法
- 下一个韦神?广西桂林14岁初中生保送清华丘班,明年本硕博连读!
- 【音频编码】AAC编码之FDK AAC
- 信庭嵌入式工作室-嵌入式Linux漫谈之Linux系统
- 511遇见电脑PC任意多开绿色软件
- 把 14 亿中国人都拉到一个微信群,程序员在技术上能实现吗?
- bzoj 1171: 大sz的游戏, bzoj 2892: 强袭作战