BZOJ1830: [AHOI2008]Y型项链 & BZOJ1789: [Ahoi2008]Necklace Y型项链
【传送门:BZOJ1830&BZOJ1789】
简要题意:
给你3个字符串,你每一次可以在一个字符串的末端删除一个字符或添加一个字符,你需要用尽量少的操作次数使得这3个字符串变成一样的。
题解:
模拟直接搞,模拟以每个串的每个位置为最终答案,求最小值即可
参考代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
using namespace std;
char s1[],s2[],s3[];
int main()
{
int len1,len2,len3;
scanf("%d%s",&len1,s1+);
scanf("%d%s",&len2,s2+);
scanf("%d%s",&len3,s3+);
int mmin=<<-,ans;
int b1=,b2=,b3=;
for(int i=;i<=len1;i++)
{
ans=len1-i;
if(b2!=) ans+=len2-b2++i-b2+;
else if(s1[i]!=s2[i]) b2=i,ans+=len2-b2++i-b2+;
else ans+=len2-i;
if(b3!=) ans+=len3-b3++i-b3+;
else if(s1[i]!=s3[i]) b3=i,ans+=len3-b3++i-b3+;
else ans+=len3-i;
mmin=min(ans,mmin);
}
b1=;b2=;b3=;
for(int i=;i<=len2;i++)
{
ans=len2-i;
if(b1!=) ans+=len1-b1++i-b1+;
else if(s2[i]!=s1[i]) b1=i,ans+=len1-b1++i-b1+;
else ans+=len1-i;
if(b3!=) ans+=len3-b3++i-b3+;
else if(s2[i]!=s3[i]) b3=i,ans+=len3-b3++i-b3+;
else ans+=len3-i;
mmin=min(ans,mmin);
}
b1=;b2=;b3=;
for(int i=;i<=len3;i++)
{
ans=len3-i;
if(b1!=) ans+=len1-b1++i-b1+;
else if(s3[i]!=s1[i]) b1=i,ans+=len1-b1++i-b1+;
else ans+=len1-i;
if(b2!=) ans+=len2-b2++i-b2+;
else if(s3[i]!=s2[i]) b2=i,ans+=len2-b2++i-b2+;
else ans+=len2-i;
mmin=min(ans,mmin);
}
printf("%d\n",min(mmin,len1+len2+len3));
return ;
}
BZOJ1830: [AHOI2008]Y型项链 & BZOJ1789: [Ahoi2008]Necklace Y型项链的更多相关文章
- [BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链
[BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链 试题描述 欢乐岛上众多新奇的游乐项目让小可可他们玩的非常开心.现在他们正在玩比赛串项链的游戏,谁串的最快就能得到 ...
- 1789: [Ahoi2008]Necklace Y型项链
1789: [Ahoi2008]Necklace Y型项链 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 421 Solved: 258[Submit] ...
- bzoj 1789: [Ahoi2008]Necklace Y型项链 贪心
1789: [Ahoi2008]Necklace Y型项链 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Jud ...
- 下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y),y++);
下面程序的输出结果是____ A:11,10 B:11,11 C:10,10 D:10,11 int x=10; int y=x++; printf("%d,%d",(x++,y) ...
- Highcharts属性与Y轴数据值刻度显示Y轴最小最大值
Highcharts 官网:https://www.hcharts.cn/demo/highcharts Highcharts API文档:https://api.hcharts.cn/highcha ...
- NAPT 分为锥型(Cone)和 对称型(Symmetric)
NAPT 分为锥型(Cone)和 对称型(Symmetric) 链接:https://www.zhihu.com/question/38729355/answer/86531260 实际上大部运营商提 ...
- vim 复制大块内容。 y,p(是单个y,而不是yy)
vim 复制大块内容. y,p(是单个y,而不是yy)
- bzoj 1787 [Ahoi2008]Meet 紧急集合(1832 [AHOI2008]聚会)
1787: [Ahoi2008]Meet 紧急集合 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 1841 Solved: 857[Submit][ ...
- POJ 1286 Necklace of Beads(项链的珠子)
Necklace of Beads Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7874 Accepted: 3290 ...
随机推荐
- 创业笔记-Node.js入门之JavaScript与Node.js
JavaScript与Node.js JavaScript与你 抛开技术,我们先来聊聊你以及你和JavaScript的关系.本章的主要目的是想让你看看,对你而言是否有必要继续阅读后续章节的内容. 如果 ...
- android canvas 画图笔记
android canvas 画图笔记 1.PathEffect类 画虚线 Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); p.setStyle(Paint.S ...
- Hadoop解析--MapReduce
从本篇博客開始咱们一起来具体了解Hadoop的每一个部分.我们在上篇博客中介绍了HDFS,MapReduce,MapReduce为了更有效率事实上是建立在HDFS之上的.有了分布式的文件系统,我们就能 ...
- [jzoj 5178] [NOIP2017提高组模拟6.28] So many prefix? 解题报告(KMP+DP)
题目链接: https://jzoj.net/senior/#main/show/5178 题目: 题解: 我们定义$f[pos]$表示以位置pos为后缀的字符串对答案的贡献,答案就是$\sum_{i ...
- CAS算法
/** * CAS(Compare-And-Swap)算法保证了数据的原子性 * CAS算法是硬件对于并发操作共享数据的支持 * CAS包含了3个操作数: * 内存值 V 看成两步 读取内存值为1步 ...
- NPOI简单的给某个单元格字体设置颜色
参考文档有: https://www.cnblogs.com/gossip/p/4307486.html https://bbs.csdn.net/topics/391042064?page=1 效果 ...
- RabbitMq笔记(2)
今天收获不少,记个笔记. namespace RabbitMQTest { class Program { static void Main(string[] args) { Consumer(); ...
- 74HC165应用
管脚定义与内部逻辑图 注1:其中控制管脚有3个:SH/LD-QH-CLK,CLK INH硬件接VSS,SER和QH'悬空 原理:先拉低SH/LD,A-H置入芯片内部寄存器中,然后拉高SH/LD,锁住A ...
- vuecli的使用之项目中的文件
cli创建的项目截图 node_moudule :下载的依赖包的存储位置. public :html的地方??? src :写代码的地方 man.js :入口文件 .browserslistrc :浏 ...
- win10 无法访问XP 共享目录原因
win10 无法访问XP 共享目录原因 *现象: 在地址栏中输入\\192.168.100.5 (XP文件服务器),出现:.....找不到网络路径, 此连接尚未还原. ...