这题类似于1787,最后的节点一定是两点的LCA,这里也就是两个字符串的最长公共前缀。

# include <cstdio>
# include <cstring>
# include <cstdlib>
# include <iostream>
# include <vector>
# include <queue>
# include <stack>
# include <map>
# include <set>
# include <cmath>
# include <algorithm>
using namespace std;
# define lowbit(x) ((x)&(-x))
# define pi 3.1415926535
# define eps 1e-
# define MOD
# define INF
# define mem(a,b) memset(a,b,sizeof(a))
# define FOR(i,a,n) for(int i=a; i<=n; ++i)
# define FO(i,a,n) for(int i=a; i<n; ++i)
# define bug puts("H");
# define lch p<<,l,mid
# define rch p<<|,mid+,r
# define mp make_pair
# define pb push_back
typedef pair<int,int> PII;
typedef vector<int> VI;
# pragma comment(linker, "/STACK:1024000000,1024000000")
typedef long long LL;
int Scan() {
int res=, flag=;
char ch;
if((ch=getchar())=='-') flag=;
else if(ch>=''&&ch<='') res=ch-'';
while((ch=getchar())>=''&&ch<='') res=res*+(ch-'');
return flag?-res:res;
}
void Out(int a) {
if(a<) {putchar('-'); a=-a;}
if(a>=) Out(a/);
putchar(a%+'');
}
const int N=;
//Code begin... char s1[N], s2[N], s3[N]; int sol(char* a, char* b, int alen, int blen){
FO(i,,min(alen,blen)) if (a[i]!=b[i]) return i;
return min(alen,blen);
}
int main ()
{
int len1, len2, len3, ans=INF, tmp, x, y;
scanf("%d%s%d%s%d%s",&len1,s1,&len2,s2,&len3,s3);
x=sol(s1,s2,len1,len2); tmp=len1+len2-*x;
y=sol(s1,s3,x,len3); tmp+=(len3+x-*y);
ans=min(ans,tmp);
x=sol(s1,s3,len1,len3); tmp=len1+len3-*x;
y=sol(s1,s2,x,len2); tmp+=(len2+x-*y);
ans=min(ans,tmp);
x=sol(s2,s3,len2,len3); tmp=len2+len3-*x;
y=sol(s1,s2,x,len1); tmp+=(len1+x-*y);
ans=min(ans,tmp);
printf("%d\n",ans);
return ;
}

BZOJ 1789 Y形项链(思维)的更多相关文章

  1. bzoj1830 Y形项链

    Description 小可可得到了一个可爱的Y型项链.小可可现在的项链是这个样子的:项链的最中间有一颗大珍珠作为结合点,从大珍珠上连出来3条由各种宝石串起来的链子.小可可希望让这3个链子完全一样,她 ...

  2. bzoj 1789: [Ahoi2008]Necklace Y型项链 贪心

    1789: [Ahoi2008]Necklace Y型项链 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Jud ...

  3. 1789: [Ahoi2008]Necklace Y型项链

    1789: [Ahoi2008]Necklace Y型项链 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 421  Solved: 258[Submit] ...

  4. [BZOJ 1789] Necklace

    Link: BZOJ 1789 传送门 Solution: 感觉$n\le 50$可以随便乱搞啊…… 这里我是先找到3条链的失配位置,再找到这之后其中2条链最远的失配位置,统计即可 Code: #in ...

  5. [BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链

    [BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链 试题描述 欢乐岛上众多新奇的游乐项目让小可可他们玩的非常开心.现在他们正在玩比赛串项链的游戏,谁串的最快就能得到 ...

  6. B1789 Y型项链 贪心

    想明白之后就是一道大水题,就是两两把最长公共前缀求出来,然后直接取最长的,然后就直接暴力算就行了... 题干: Description 欢乐岛上众多新奇的游乐项目让小可可他们玩的非常开心.现在他们正在 ...

  7. bzoj1830: [AHOI2008]Y型项链(LCP+贪心)

    1830: [AHOI2008]Y型项链 题目:传送门 简要题意: 给出三个字符串,可以对任意字符串进行操作,每次操作都可以再其中一个字符串的末尾删除或添加一个字符,求最小操作数使得所有的字符串相同 ...

  8. 【BZOJ】1830: [AHOI2008]Y型项链

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1830 直接枚举目标串是什么,目标串一定是三个字符串的某一个前缀(注意可能为空),然后判断一 ...

  9. bzoj 4330: JSOI2012 爱之项链

    听说这题不公开.. 那就不贴题意了 首先要用burnside引理求出戒指的种数,那么对于一个顺时针旋转$k$个位置的置换就相当于连上一条$(i,(i+k)%R)$的边,每个环颜色必须相同 环的个数为$ ...

随机推荐

  1. pix2code开发笔记

    1.软件安装 首先需要安装Python3和pip (1) Python3 环境搭建 Window 平台安装 Python:  https://www.python.org/downloads/wind ...

  2. Tips & Tricks Learned Releasing an Hybrid App Using Steroids.js

    http://marcgg.com/blog/2014/04/09/phonegap-steroids-hybrid-native-app-tips/

  3. 【转】odoo学习之:Environment

    Environment类提供了对ORM对象的封装,同时提供了对注册类的访问,记录集的缓存,以及管理重计算的数据结构. 对于继承了Model的类来说可以直接通过self.env对Environment进 ...

  4. P1563 玩具谜题

    P1563 玩具谜题 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: ...

  5. Unicode编码相关概念

    1.Unicode是一种字符映射方案,这种映射并不是编码(即还没有到二进制机器码层面),而是像一个电话本一样,把全世界所有语言使用的字符,都映射成一个"u+"开头的数字(在JAVA ...

  6. Git与远程仓库关联以及关联错误解决方法

    假设你github的用户名是  helloworld  ,你在上面创建了一个 名为 hello 的 repository. 一. 与本地仓库进行关联 1.1用原生ssh进行关联,速度快: git re ...

  7. [JSON].exists( keyPath )

    语法:[JSON].exists( keyPath ) 返回:[True | False] 说明:检测指定键名路径是否存在 示例: Set jsonObj = toJson("{div:{' ...

  8. 【scroll-view】 可滚动视图组件说明

    scroll-view 可滚动视图容器 原型: <scroll-view scroll-x="[Boolean]" scroll-y="[Boolean]" ...

  9. 系统滴答定时器(SysTick)中断配置

    系统滴答定时器(SysTick)中断配置 在STM32标准库中是通过SysTick_Config()函数配置时钟中断的,然后SysTick_Handler()函数自动定时触发其中的函数. if(Sys ...

  10. Asp.net之数组应用

    string[] abc=new string[8]{"1","2","3","4","1",&qu ...