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

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的長度最小。設(shè)str1的長度為m,str2的長度為n,如果按照逐個位置匹配求公共部分的方法,時間復(fù)雜度為O(m*n)。題目中的n∈[1,1000000],顯然會TLE,必須降低時間復(fù)雜度,只能用KMP模式匹配算法來做了,時間復(fù)雜度O(m+n)。
   用KMP算法來求解時,分3種情況:
   ----str1與str2能完全匹配,長度為max{len1,len2},如banana,ban;
   ----str1與str2不能匹配,但是能找到公共部分,如字符串a(chǎn)lba,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年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

導(dǎo)航

統(tǒng)計

常用鏈接

留言簿(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>
            亚洲日本一区二区| 午夜精品在线观看| 亚洲女ⅴideoshd黑人| 在线成人激情| 国产日韩欧美精品在线| 欧美亚男人的天堂| 欧美高清视频在线| 久久欧美中文字幕| 久久成人久久爱| 欧美一区2区三区4区公司二百 | 午夜精彩视频在线观看不卡| 亚洲黄色在线视频| 欧美高清视频在线播放| 久久综合网hezyo| 久久久久久久久久久久久久一区| 亚洲已满18点击进入久久| 日韩视频一区二区在线观看| 亚洲国产精品一区在线观看不卡| 伊人色综合久久天天| 狠狠网亚洲精品| 国产一区二区观看| 黄色亚洲大片免费在线观看| 国产一区二区三区奇米久涩 | 日韩亚洲欧美成人| 亚洲激情网站| 日韩视频不卡| 一区二区三区欧美亚洲| 亚洲一级电影| 午夜在线一区| 欧美一区二区三区在线| 欧美影院精品一区| 久久久久久久国产| 美女精品网站| 亚洲电影欧美电影有声小说| 亚洲高清视频一区二区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲激情一区二区| 99视频日韩| 亚洲欧美日韩直播| 久久av资源网站| 久久综合五月| 欧美精品自拍| 国产精品福利久久久| 国产麻豆9l精品三级站| 国产一区二区久久| 影音先锋国产精品| 亚洲日本在线视频观看| 在线一区二区三区四区| 亚洲免费在线看| 久久精品最新地址| 欧美成人高清| 亚洲精品美女91| 亚洲影院免费| 久久人人九九| 欧美日韩精品久久久| 国产精品你懂得| 伊人夜夜躁av伊人久久| 亚洲人成啪啪网站| 欧美日本不卡视频| 国产精品一区二区久久精品| 国内免费精品永久在线视频| 亚洲国内欧美| 亚洲欧美日韩电影| 男人的天堂亚洲| 一本色道久久综合精品竹菊| 欧美一级淫片aaaaaaa视频| 欧美国产精品va在线观看| 国产精品久久久免费| 尤物精品在线| 亚洲一区综合| 男女激情视频一区| 亚洲午夜激情在线| 麻豆精品在线视频| 国产精品国产成人国产三级| 伊人成综合网伊人222| 亚洲特级片在线| 蜜桃精品一区二区三区| 99精品国产热久久91蜜凸| 欧美一区二区大片| 欧美精品三区| 黑人一区二区三区四区五区| 一本色道久久综合亚洲精品不| 欧美在线免费观看| 亚洲精品欧美日韩| 久久久国产精品一区二区三区| 欧美日韩国产成人在线91| 韩国一区二区三区在线观看| 一本色道88久久加勒比精品| 久久免费高清| 亚洲午夜三级在线| 欧美经典一区二区| 伊人久久婷婷色综合98网| 午夜精品久久久久| 亚洲经典自拍| 久久精品久久99精品久久| 国产精品久久久久天堂| 亚洲精品自在在线观看| 久久一区二区三区av| 亚洲一区在线免费| 欧美日韩高清在线播放| 亚洲国产另类久久精品| 久久香蕉精品| 午夜精品一区二区三区在线视| 欧美日韩国产影片| 亚洲人www| 麻豆精品传媒视频| 欧美亚洲三区| 国产精品亚洲欧美| 亚洲免费在线电影| 日韩香蕉视频| 欧美激情麻豆| 亚洲国产日韩欧美在线动漫| 久久久久久一区二区| 亚洲欧美成人一区二区三区| 欧美视频在线不卡| 在线中文字幕日韩| 亚洲激情精品| 欧美激情视频在线免费观看 欧美视频免费一 | 99天天综合性| 亚洲国产一区二区精品专区| 久久久欧美一区二区| 国产一区三区三区| 久久久999精品免费| 亚洲欧美资源在线| 国产色视频一区| 欧美在线黄色| 午夜精品国产| 国产日韩欧美91| 久久国产欧美日韩精品| 亚洲综合色噜噜狠狠| 国产精品久久影院| 亚洲欧美日韩天堂一区二区| 一区二区三区四区蜜桃| 欧美手机在线视频| 亚洲伊人网站| 亚洲欧美日韩国产成人精品影院| 国产精品亚洲а∨天堂免在线| 欧美一级久久久| 欧美一区二区视频观看视频| 国产在线视频不卡二| 葵司免费一区二区三区四区五区| 久久精品国产69国产精品亚洲 | 一区二区三区成人精品| 欧美日产国产成人免费图片| av成人免费在线观看| 夜夜嗨av一区二区三区| 欧美午夜片在线观看| 午夜视频一区二区| 欧美一区二区大片| 一区二区视频免费完整版观看| 欧美va天堂在线| 欧美乱人伦中文字幕在线| 亚洲一区999| 亚洲欧美国产va在线影院| 国产在线国偷精品产拍免费yy| 久久综合久久综合久久综合| 蜜乳av另类精品一区二区| 99热在线精品观看| 亚洲视频网在线直播| 国内精品久久久久久| 亚洲成色777777在线观看影院| 欧美日韩八区| 欧美中文在线免费| 久久午夜视频| 中文欧美日韩| 欧美一区二区三区免费看 | 欧美黄色小视频| 亚洲女女女同性video| 欧美在现视频| 亚洲精品三级| 亚洲尤物在线视频观看| 精品成人乱色一区二区| 亚洲精品国精品久久99热| 国产精品久久久久毛片软件| 毛片精品免费在线观看| 欧美日韩国产免费观看| 久久久久国产精品人| 欧美美女bbbb| 久久一区视频| 欧美午夜不卡| 媚黑女一区二区| 欧美色欧美亚洲另类二区| 久久久青草青青国产亚洲免观| 欧美黄色影院| 久久久久久9999| 欧美日韩网址| 你懂的视频一区二区| 国产精品国产a级| 亚洲电影毛片| 国产一区二区三区久久久久久久久| 91久久线看在观草草青青| 国产一区二区三区在线播放免费观看| 亚洲精品国产精品乱码不99| 国内精品久久久久影院优 | 免费观看30秒视频久久| 午夜国产精品视频免费体验区| 久久综合99re88久久爱| 午夜精品理论片| 欧美久久久久久蜜桃| 免费日韩av电影|