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

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>
            久久嫩草精品久久久精品| 亚洲一区三区电影在线观看| 欧美一区二区三区在线视频| 日韩午夜在线播放| 欧美日韩国产二区| 一区二区三区www| 一区二区高清视频在线观看| 国产精品多人| 久久精品国产亚洲一区二区三区| 亚洲欧美国产精品专区久久| 国产亚洲精品久久飘花| 久久99伊人| 久久男人av资源网站| 亚洲日本一区二区三区| 99www免费人成精品| 国产精品爽爽ⅴa在线观看| 欧美影片第一页| 久久综合久久综合久久综合| 一本久久青青| 亚洲欧美日韩中文视频| 在线观看日韩欧美| 一本久久综合| 国产日韩欧美综合精品| 亚洲第一二三四五区| 欧美视频在线免费看| 久久午夜国产精品| 欧美精品v日韩精品v国产精品 | 欧美福利一区二区三区| aa级大片欧美三级| 午夜精品久久久久久久久久久久久| 国内精品久久久久国产盗摄免费观看完整版 | 欧美成人一区在线| 亚洲欧美精品一区| 久久综合999| 亚洲欧美在线播放| 免费观看亚洲视频大全| 欧美亚洲日本国产| 欧美精品二区| 久久精品在线免费观看| 欧美日韩国产首页| 欧美国产日韩二区| 国产三级精品三级| 99re66热这里只有精品4| 国模 一区 二区 三区| 亚洲免费大片| 亚洲欧洲精品成人久久奇米网 | 久久免费国产| 欧美色一级片| 亚洲国产日韩在线一区模特| 国产亚洲一区二区三区| 在线一区二区三区四区| 91久久精品久久国产性色也91| 亚洲——在线| 亚洲男人av电影| 欧美日韩不卡在线| 亚洲国产精品久久久久秋霞不卡| 国内精品国语自产拍在线观看| 在线亚洲欧美视频| 亚洲一卡二卡三卡四卡五卡| 猫咪成人在线观看| 欧美1区视频| 尤物在线观看一区| 久久裸体艺术| 美女91精品| 极品尤物久久久av免费看| 亚洲女人天堂成人av在线| 在线亚洲伦理| 国产精品成人va在线观看| 亚洲人精品午夜| 99在线|亚洲一区二区| 欧美精品久久99| 亚洲国产视频一区| 日韩一本二本av| 欧美国产精品中文字幕| 亚洲精品国产视频| 一区二区三区国产精品| 欧美私人网站| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲一区中文| 国产亚洲精品久久久久动| 久久99伊人| 欧美福利电影网| 99精品欧美一区二区三区综合在线 | 久久精品视频亚洲| 在线不卡亚洲| 免费成人在线视频网站| 亚洲激情自拍| 亚洲午夜一区| 国产色产综合产在线视频| 久久精品欧美| 亚洲国产三级| 午夜视频在线观看一区| 国语精品一区| 欧美国产日韩一二三区| 日韩亚洲视频在线| 久久久青草婷婷精品综合日韩 | 黑人巨大精品欧美一区二区| 久久嫩草精品久久久精品| 亚洲人成毛片在线播放| 午夜亚洲激情| 91久久午夜| 国产欧美日韩在线观看| 欧美成人午夜激情| 亚洲欧美日本国产有色| 欧美波霸影院| 篠田优中文在线播放第一区| 伊人久久av导航| 欧美四级电影网站| 美女网站久久| 亚洲欧美一区二区三区在线| 欧美91大片| 欧美一区二区视频观看视频| 亚洲韩国精品一区| 国产精品日韩在线| 欧美成人按摩| 久久精品欧洲| 亚洲一区中文| 亚洲毛片在线| 欧美mv日韩mv国产网站| 欧美一区二区三区久久精品茉莉花| 亚洲第一精品在线| 国产色爱av资源综合区| 欧美色图首页| 欧美久久久久久蜜桃| 久久久九九九九| 午夜精品免费在线| 一本色道久久综合亚洲精品不卡 | 久久三级视频| 香蕉成人啪国产精品视频综合网| 亚洲乱码国产乱码精品精98午夜 | 欧美大学生性色视频| 午夜精品亚洲| 亚洲尤物在线| 亚洲午夜精品一区二区三区他趣| 欧美激情一区二区三区高清视频 | 99国内精品| 亚洲欧洲三级| 亚洲国产日韩欧美在线图片 | 女人天堂亚洲aⅴ在线观看| 亚洲在线一区二区三区| 99国产一区| 日韩视频在线一区二区| 亚洲欧洲在线免费| 亚洲黑丝一区二区| 欧美高清一区二区| 欧美激情第8页| 欧美激情导航| 亚洲欧洲日韩综合二区| 91久久极品少妇xxxxⅹ软件| 欧美国产日韩精品免费观看| 欧美成人乱码一区二区三区| 美国三级日本三级久久99| 久久精品欧洲| 老司机免费视频一区二区| 麻豆乱码国产一区二区三区| 免费成人在线观看视频| 农村妇女精品| 亚洲欧洲在线免费| 一二美女精品欧洲| 性色av一区二区怡红| 久久国产婷婷国产香蕉| 久久夜色精品国产| 欧美va亚洲va国产综合| 欧美色大人视频| 国产精品日韩欧美一区二区三区| 国产日韩专区| 在线观看日韩欧美| 亚洲精品一区在线观看香蕉| 一区二区三区免费网站| 亚洲欧美日韩成人| 老司机一区二区| 亚洲国产成人久久综合| 日韩写真视频在线观看| 午夜精品网站| 欧美高潮视频| 国产日韩免费| 亚洲精品偷拍| 久久精品一区二区三区四区 | 亚洲欧美国产高清va在线播| 欧美一区在线看| 欧美freesex8一10精品| 亚洲最新视频在线| 久久超碰97人人做人人爱| 欧美凹凸一区二区三区视频| 欧美日韩午夜精品| 狠狠88综合久久久久综合网| 一区二区三区国产精品| 久久久久久久精| 亚洲看片网站| 久久精品官网| 欧美视频成人| 亚洲国产一区二区精品专区| 亚洲男人的天堂在线观看| 欧美高清日韩| 亚洲一区中文| 欧美日韩中文另类| 亚洲青色在线| 久热国产精品视频| 亚洲永久精品大片| 欧美视频在线观看一区二区|