青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

HDOJ 1841 Find the Shortest Common Superstring (最小公共父串)

Problem Description
The shortest common superstring of 2 strings S1 and S2 is a string S with the minimum number of characters which contains both S1 and S2 as a sequence of consecutive characters. For instance, the shortest common superstring of “alba” and “bacau” is “albacau”.
Given two strings composed of lowercase English characters, find the length of their shortest common superstring.
 

Input
The first line of input contains an integer number T, representing the number of test cases to follow. Each test case consists of 2 lines. The first of these lines contains the string S1 and the second line contains the string S2. Both of these strings contain at least 1 and at most 1.000.000 characters.
 

Output
For each of the T test cases, in the order given in the input, print one line containing the length of the shortest common superstring.
 

Sample Input
2
alba
bacau
resita
mures
 

Sample Output
7
8
   題目要求2個字符串的shortest common superstring,最小公共父串:使得str1和str2都包含在所求的superstring中,且該superstring的長度最小。設str1的長度為m,str2的長度為n,如果按照逐個位置匹配求公共部分的方法,時間復雜度為O(m*n)。題目中的n∈[1,1000000],顯然會TLE,必須降低時間復雜度,只能用KMP模式匹配算法來做了,時間復雜度O(m+n)。
   用KMP算法來求解時,分3種情況:
   ----str1與str2能完全匹配,長度為max{len1,len2},如banana,ban;
   ----str1與str2不能匹配,但是能找到公共部分,如字符串alba,bacau,公共部分ba長度為2;
   ----str1與str2不能匹配,且沒有公共部分,如asdf,ghjk。
 1 #include <iostream>
 2 
 3 #define max(a,b) (a>b?a:b)
 4 #define match(a,b) ((a)==(b))
 5 const int MAXN = 1000001;
 6 int fail[MAXN];
 7 char str[2][MAXN];
 8 
 9 int kmp_pat_match(char *str,int ls,int &i,char *pat,int lp,int &j){
10     fail[0]=-1,i=0,j;
11     for(j=1;j<lp;j++){
12         for(i=fail[j-1];i>=0 && !match(pat[i+1],pat[j]);i=fail[i]);
13         fail[j]=match(pat[i+1],pat[j])?i+1:-1;
14     }
15     for(i=j=0;i<ls&&j<lp;i++)
16         if(match(str[i],pat[j])) j++;
17         else if(j)
18             j=fail[j-1]+1,i--;
19     return j==lp?(i-lp):-1;
20 }
21 int main(){
22     int i,j,t,u,v,len1,len2,pos;
23     scanf("%d",&t),getchar();
24     while(t--){
25         gets(str[0]),gets(str[1]);
26         len1=strlen(str[0]),len2=strlen(str[1]);
27         u=0,pos=kmp_pat_match(str[0],len1,i,str[1],len2,j);
28         if(pos!=-1) u=len2;
29         else if(i==len1 && j>0 && match(str[0][len1-1],str[1][j-1])) u=j;
30         v=0,pos=kmp_pat_match(str[1],len2,i,str[0],len1,j);
31         if(pos!=-1) v=len1;
32         else if(i==len2 && j>0 && match(str[1][len2-1],str[0][j-1])) v=j;
33         printf("%d\n",len1+len2-max(u,v));
34     }
35     return 0;
36 }

posted on 2009-04-28 13:38 極限定律 閱讀(632) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC

<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

友情鏈接

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧洲日韩综合二区| 亚洲国产精品久久91精品| 在线一区视频| 在线一区二区三区四区五区| 欧美日韩一区免费| 亚洲欧美综合网| 亚洲欧美综合网| 在线观看福利一区| 亚洲第一综合天堂另类专| 欧美黄色免费| 亚洲一区在线看| 久久精品理论片| 亚洲精品中文字幕女同| 亚洲一区二区精品视频| 国产综合网站| 亚洲欧洲另类| 国产精品视频1区| 免费欧美在线| 国产精品av一区二区| 久久精品日韩| 欧美激情精品久久久久久变态| 亚洲综合久久久久| 久久这里只精品最新地址| 亚洲精品视频免费在线观看| 一本色道久久综合亚洲精品婷婷| 国产亚洲精品资源在线26u| 欧美国产丝袜视频| 国产精品久久久一区二区三区 | 欧美日韩亚洲一区二| 亚洲欧美一区二区在线观看| 久久精品中文字幕一区二区三区| 亚洲精品永久免费| 欧美一区二区三区在线| 99精品视频免费| 久久成人免费视频| 亚洲一区在线免费观看| 美女视频网站黄色亚洲| 香蕉久久精品日日躁夜夜躁| 欧美不卡视频一区发布| 久久黄色小说| 国产精品v欧美精品v日韩精品 | 亚洲精品日韩精品| 亚洲免费在线视频| 亚洲视频在线观看| 欧美成人三级在线| 麻豆freexxxx性91精品| 国产精品资源在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美色大人视频| 亚洲成人直播| 欧美电影在线免费观看网站| 欧美日韩在线视频观看| 亚洲激情在线播放| 激情五月***国产精品| 亚洲一区二区三区在线视频 | 国产精品videosex极品| 亚洲福利精品| 亚洲国产欧美一区二区三区同亚洲 | 久久精品国产亚洲精品| 亚洲欧美国产高清va在线播| 欧美日韩a区| 亚洲精品1234| 日韩一二在线观看| 麻豆成人综合网| 欧美大片免费观看| 亚洲高清免费| 欧美成人激情视频| 亚洲高清一区二| 日韩视频一区二区在线观看 | 亚洲一区二区三区精品在线观看| 一二三区精品| 欧美日韩国产精品专区| 亚洲日韩第九十九页| 亚洲精品字幕| 欧美日韩国产综合视频在线观看中文| 亚洲国内高清视频| 中日韩美女免费视频网址在线观看| 欧美多人爱爱视频网站| 亚洲人成在线观看| 一区二区欧美日韩视频| 欧美人与性动交a欧美精品| 日韩视频一区二区三区在线播放免费观看 | 欧美高清视频一区二区| 1769国内精品视频在线播放| 欧美成人午夜| 亚洲神马久久| 久久色中文字幕| 亚洲国产精品久久91精品| 欧美成人一区二免费视频软件| 亚洲国产精品女人久久久| 夜夜嗨av色综合久久久综合网 | 欧美一区二区精品| 噜噜噜91成人网| 亚洲精品免费电影| 国产精品久久久久9999高清| 亚洲欧美综合网| 欧美国产免费| 篠田优中文在线播放第一区| 黑人巨大精品欧美一区二区小视频| 久久中文字幕一区| 国产精品99久久久久久久女警 | 久久永久免费| 一区二区三区色| 另类亚洲自拍| 亚洲女同精品视频| 尤物精品在线| 国产精品盗摄久久久| 久久久蜜臀国产一区二区| 欧美激情视频网站| 欧美一级成年大片在线观看| 亚洲电影免费观看高清完整版在线| 欧美大片91| 久久精品国产2020观看福利| 一本色道**综合亚洲精品蜜桃冫 | 亚洲欧美激情诱惑| 曰韩精品一区二区| 欧美视频在线观看视频极品| 久久久久久电影| 在线视频你懂得一区| 亚洲高清久久久| 久久久精品2019中文字幕神马| 日韩亚洲欧美综合| 激情综合电影网| 国产精品尤物| 欧美四级在线| 久久亚洲精品欧美| 午夜精品久久久久久99热| 99视频精品全部免费在线| 亚洲第一福利视频| 久久久水蜜桃| 久久精品国产77777蜜臀| 亚洲专区免费| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 开心色5月久久精品| 亚洲欧美日韩网| 亚洲一区二区三区777| 一区二区欧美日韩视频| 亚洲精品久久久蜜桃| 亚洲国产成人精品久久久国产成人一区| 久久精品视频免费播放| 欧美在线视屏| 欧美在线视频一区二区| 欧美亚洲免费| 欧美一区二区三区四区在线观看地址| 亚洲一区二区三| 亚洲欧美在线一区| 午夜精品久久久久久久久久久| 亚洲无玛一区| 亚洲少妇一区| 99天天综合性| 亚洲一二三区在线观看| 亚洲自拍电影| 先锋亚洲精品| 久久色在线播放| 欧美大片免费观看在线观看网站推荐| 男女av一区三区二区色多| 欧美成人首页| 亚洲精品久久久久久下一站| 亚洲精品日韩综合观看成人91| 日韩一级成人av| 亚洲尤物精选| 久久精品国产一区二区三区免费看| 久久精品国产精品亚洲综合| 久久天天躁狠狠躁夜夜av| 免费在线一区二区| 欧美剧在线免费观看网站| 欧美视频日韩视频在线观看| 国产精品福利影院| 国产一级久久| 亚洲精品一区二区三区不| 在线亚洲欧美视频| 欧美一区二区视频网站| 免费在线一区二区| 亚洲蜜桃精久久久久久久| 亚洲欧美日韩中文视频| 另类激情亚洲| 欧美日韩综合在线| 黄色国产精品一区二区三区| 亚洲精品久久在线| 久久成人精品电影| 亚洲大片一区二区三区| 亚洲深夜福利| 蜜臀久久99精品久久久画质超高清 | 久久综合久久久久88| 欧美另类在线观看| 国产伊人精品| 一区二区三区国产盗摄| 久久久www免费人成黑人精品| 91久久在线观看| 久久精品亚洲热| 欧美三级在线播放| 亚洲国产91精品在线观看| 欧美亚洲系列| 亚洲精品一区二区三区在线观看| 欧美在线免费看| 国产精品国内视频| 日韩视频一区二区在线观看| 久久青草欧美一区二区三区| 妖精视频成人观看www| 麻豆精品国产91久久久久久|