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

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 極限定律 閱讀(626) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

導航

統計

常用鏈接

留言簿(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>
            国产精品腿扒开做爽爽爽挤奶网站| 久久亚洲国产成人| 欧美午夜视频网站| 欧美亚洲一区二区在线| 亚洲一区二区欧美| 午夜视频一区| 性久久久久久久久| 欧美一区日本一区韩国一区| 国产精品一区二区三区四区| 亚洲在线黄色| 欧美精品午夜| 一区在线视频观看| 亚洲靠逼com| 免费91麻豆精品国产自产在线观看| 鲁鲁狠狠狠7777一区二区| 夜夜爽夜夜爽精品视频| 欧美国产日本在线| 一本色道久久综合亚洲91| 亚洲国产日韩一区| 欧美福利电影网| 亚洲丰满少妇videoshd| 欧美激情精品久久久久久| 免费观看亚洲视频大全| 久久婷婷成人综合色| 亚洲国产片色| 99精品欧美一区二区三区综合在线| 欧美精品videossex性护士| 亚洲一卡久久| 久久福利视频导航| 99精品视频免费观看视频| 亚洲电影观看| 欧美日韩一级黄| 久久久伊人欧美| 欧美日韩激情小视频| 欧美一区二视频| 欧美搞黄网站| 久久九九国产精品| 你懂的视频一区二区| 香蕉久久夜色精品国产使用方法| 日韩亚洲欧美一区二区三区| 国产一区av在线| 一个色综合av| 亚洲精品一区二区三区99| 亚洲一区二区av电影| 亚洲国产日韩一区| 久久九九精品| 欧美一区二区三区免费大片| 欧美区二区三区| 亚洲欧美成人一区二区三区| 久久久久综合网| 亚洲免费电影在线| 久久激情婷婷| 亚洲婷婷免费| 美日韩精品视频免费看| 亚洲一区免费网站| 久久久97精品| 亚洲一区三区电影在线观看| 午夜精品久久久久久久白皮肤 | 暖暖成人免费视频| 欧美日韩岛国| 免费看亚洲片| 国产精品久久网| 亚洲高清不卡一区| 国产欧美日韩不卡| 亚洲精品视频一区| 最近看过的日韩成人| 欧美激情综合色综合啪啪| 亚洲欧美日韩中文视频| 久久亚洲色图| 亚洲高清视频中文字幕| 亚洲国产欧美一区| 久久久亚洲一区| 久久亚洲综合| 红桃视频欧美| 美女精品网站| 亚洲第一精品夜夜躁人人爽| 国产精品高潮呻吟久久av黑人| 欧美激情视频一区二区三区免费 | 久久精品2019中文字幕| 香蕉成人久久| 伊人成人开心激情综合网| 久久精品一区| 一区二区三区毛片| 亚洲精品久久嫩草网站秘色| 欧美精品色一区二区三区| 亚洲精品美女久久7777777| 一区二区三区.www| 一二三四社区欧美黄| 欧美日韩国产黄| 亚洲一区二区精品在线| 亚洲一区二区高清视频| 国内在线观看一区二区三区| 牛人盗摄一区二区三区视频| 午夜视频在线观看一区二区三区| 亚洲美女在线一区| 亚洲美女黄色| 欧美一区二区三区日韩| 久久av一区| 欧美激情中文不卡| 欧美3dxxxxhd| 久久婷婷激情| 久久久久国产精品一区二区| 亚洲一本大道在线| 亚洲网站在线播放| 在线亚洲观看| 免费h精品视频在线播放| 久久国产一二区| 国产精品久久久999| 欧美日韩mp4| 国产精品你懂得| 欧美体内she精视频| 农夫在线精品视频免费观看| 午夜亚洲一区| 亚洲精品欧美精品| 亚洲国产精品一区二区久| 在线日韩中文字幕| 午夜精品久久久久久久99樱桃 | 一区二区三区日韩精品视频| 欧美日韩三区| 亚洲精品日韩一| 久久综合一区二区| 亚洲一区在线播放| 精品福利免费观看| 欧美韩国日本综合| 国产精品www网站| 亚洲国产精品欧美一二99| 国产精品av免费在线观看| 欧美国产日韩精品| 久久综合中文色婷婷| 老**午夜毛片一区二区三区| 性色av一区二区三区| 久久久久久免费| 亚洲欧美欧美一区二区三区| 美女国内精品自产拍在线播放| 亚洲一区二区欧美| 久久久蜜桃一区二区人| 久久精品一区| 欧美午夜三级| 亚洲人成人77777线观看| 黄色精品一二区| 亚洲伊人伊色伊影伊综合网| 欧美人成在线| 日韩午夜免费| 亚洲精品你懂的| 久久精品视频在线观看| 中文精品一区二区三区| 牛人盗摄一区二区三区视频| 欧美黄色aa电影| 在线视频成人| 久久久精品动漫| 久久久久久久999| 国产亚洲成精品久久| 欧美插天视频在线播放| 韩国一区二区三区美女美女秀| 在线一区视频| 亚洲一区二区欧美日韩| 欧美午夜精品一区| 日韩视频在线永久播放| 一本色道精品久久一区二区三区| 免费欧美高清视频| 美玉足脚交一区二区三区图片| 国产欧美日韩视频在线观看| 欧美制服第一页| 久久亚洲影音av资源网| 韩国av一区二区三区在线观看| 亚洲视频在线看| 羞羞答答国产精品www一本| 国产视频久久久久久久| 欧美在线视屏| 欧美本精品男人aⅴ天堂| 亚洲第一天堂av| 欧美电影资源| 日韩午夜免费视频| 欧美亚洲免费| 亚洲国产欧美在线人成| 久久夜色精品国产欧美乱极品| 国产日韩欧美在线视频观看| 午夜天堂精品久久久久| 快she精品国产999| 一区二区三区欧美日韩| 国产精品久久久久国产a级| 亚洲图片你懂的| 久久久久久久久久久成人| 黄色成人av网| 国产精品乱码妇女bbbb| 亚洲女女做受ⅹxx高潮| 一区二区三区四区五区精品视频 | 久久―日本道色综合久久| 国产欧美日本一区视频| 99国产精品私拍| 欧美顶级艳妇交换群宴| 一本色道婷婷久久欧美| 国产精品久久久久久久久久久久久 | 亚洲欧美中日韩| 久久久亚洲人| 亚洲美女淫视频| 国产精品一区久久| 老司机午夜免费精品视频| 亚洲国产人成综合网站| 亚欧美中日韩视频|