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 ...
随机推荐
- NYIST 677 碟战
碟战时间限制:2000 ms | 内存限制:65535 KB难度:4 描述知己知彼,百战不殆!在战争中如果被敌人掌握了自己的机密,失败是必然的.K国在一场战争中屡屡失败,就想到自己的某些城市可能会有敌 ...
- 005推断两个字符串是否是变位词 (keep it up)
写一个函数推断两个字符串是否是变位词. 变位词(anagrams)指的是组成两个单词的字符同样,但位置不同的单词.比方说, abbcd和abcdb就是一对变位词 这也是简单的题. 我们能够排序然后对照 ...
- hdu5240
想了辣么多 貌似就一个条件 #include<bits/stdc++.h> using namespace std; int flag=0;int main(){int t,n,kase= ...
- Recovering unassigned shards on elasticsearch 2.x——副本shard可以设置replica为0在设置回来
Recovering unassigned shards on elasticsearch 2.x 摘自:https://z0z0.me/recovering-unassigned-shards-on ...
- vue-cli全引入jquery
欢迎加入前端交流群交流知识&&获取视频资料:749539640 vue-cli全引入jquery:(vue-cli使用webpack) 第一步: 在package.json文件里的de ...
- HTML与CSS学习记录
title: HTML与CSS学习记录 toc: true date: 2018-09-10 14:04:59 <HTML与CSS进阶教程读书笔记> HTML基础知识 HTML与XHTML ...
- Linux基础02
** Linux基本操作常用命令(二) ** 用户名与主机名 当你进入Linux终端时,你会看到如下样式的图片: 其中[z@z01]方括号内的z表示当前系统登录操作的用户名,@后的z01表示当 ...
- 模拟邮箱输入邮箱地址、收藏标签。input框输入内容后回车,内容显示成小方块并带删除按钮。
模拟邮箱输入邮箱地址.收藏标签: 文本框输入文字后按回车键或者分号键,输入框中的文字变成小块并带删除按钮和操作. 页面代码: <!DOCTYPE html> <%@ page lan ...
- Android学习——LinearLayout布局实现居中、左对齐、右对齐
android:orientation="vertical"表示该布局下的元素垂直排列: 在整体垂直排列的基础上想要实现内部水平排列,则在整体LinearLayout布局下再创建一 ...
- ActiveMQ学习笔记(20)----Consumer高级特性(二)
1. Message Selectors JMS Selectors 用在获取消息的时候,可以基于消息属性和Xpath语法对消息进行过滤.JMS Selectors有SQL92语义定义.以下是个Sel ...