码迷,mamicode.com
首页 > 其他好文 > 详细

bzoj1789 Necklace Y型项链

时间:2014-08-23 16:36:01      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   for   ar   art   

我们可以发现答案目标串即为某一个串的前缀,所以只要枚举前缀再计算两个串需要转移的距离即可

这种题目不要老往dp上想,要善于利用题目条件

bubuko.com,布布扣
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<string>
 4 #include<cstring>
 5 using namespace std;
 6 string a,b,c;
 7 string s;
 8 int na,nb,nc;
 9 int ans=19991231;
10 int cal(string x,string y)
11 {
12     int i=1;
13     while(x[i]==y[i] && i<x.size() && i<y.size())i++;
14    // cout<<x<<" "<<y<<" "<<i<<endl;
15     i--;
16     return x.size()-i-1+y.size()-i-1;
17 }
18 int main()
19 {
20     cin>>na>>a;
21     cin>>nb>>b;
22     cin>>nc>>c;
23     a="0"+a;
24     b="0"+b;
25     c="0"+c;
26     ans=na+nb+nc;
27     s="0";
28     for(int i=1;i<=na;i++)
29     {
30         s=s+a[i];
31         ans=min(ans,cal(s,a)+cal(s,b)+cal(s,c));
32     }
33     s="0";
34     for(int i=1;i<=nb;i++)
35     {
36         s=s+b[i];
37         ans=min(ans,cal(s,a)+cal(s,b)+cal(s,c));
38     }
39     s="0";
40     for(int i=1;i<=nc;i++)
41     {
42         s=s+c[i];
43         ans=min(ans,cal(s,a)+cal(s,b)+cal(s,c));
44     }
45     printf("%d\n",ans);
46     return 0;
47 }
View Code

 

bzoj1789 Necklace Y型项链

标签:style   blog   http   color   os   io   for   ar   art   

原文地址:http://www.cnblogs.com/sillygirl/p/3931334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!