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

posts - 43,  comments - 9,  trackbacks - 0
后綴數組,KMP擴展,自動機
題目要求4000個長度為200的字串的最長公共子串.
只需選一個串作為基串, 枚舉它的所有后綴串S[i..len], 求出其它串與這個子串的LCP. 最后選最大的輸出.
關于求串S與串T所有后綴的LCP, 林希德的論文講了擴展KMP算法. 不過我想出另一種方法:
把S和T直接連接得到新串U. 按正常KMP的方法求U的next數組, 不過當p指向U[len[S]+1]即原T串的首字母時, 直接將此位的next置為0.
最后min(len[S], next[k]) 就是串T[1..(k-len[S])]與串S的lcp長度.

代碼如下:

 1#include <iostream>
 2using namespace std;
 3
 4char wd[4000][201];
 5int cnt[201][201], vis[201][201];
 6char ss[401];
 7int next[401];
 8int N;
 9
10bool readin()
11{
12  scanf("%d",&N);
13  if(N==0)return false;
14  
15  for(int i=0; i<N; i++)
16    scanf("%s",wd[i]);
17  return true;
18}

19
20int mycmp(char *s1, int l1, char *s2, int l2)
21{
22  if(l1!=l2) return (l2-l1);
23  while(--l1 && *s1==*s2) s1++, s2++;
24  return (*s1-*s2);
25}

26
27void mycpy(char *s1, char *s2, int l)
28{
29  while(l--*(s1++)=*(s2++);
30  *s1=0;
31}

32
33void solve()
34{
35  memset(cnt,0,sizeof(cnt));
36  memset(vis,0,sizeof(vis));
37  
38  int l0=strlen(wd[0]);
39  strcpy(ss,wd[0]);
40  char ans[201]="";
41  
42  for(int p=0; p<l0; p++){
43    char *s=&ss[p];
44    for(int i=1; i<N; i++){
45      strcpy(&ss[l0], wd[i]); //連接兩個串
46      int l1=l0-p+strlen(wd[i]);
47      next[0]=-1;
48      int p0=-1, p1=0;
49      while(p1<l1){
50        while(p0>=0 && s[p0]!=s[p1])
51          p0=next[p0];
52        next[++p1]=++p0;
53        if(p1==l0-p) //此位置0
54          next[p1]=0, p0=0;
55        if(p1>=l0-p){
56          int len=min(l0-p, next[p1]);
57          if(vis[p][p+len-1]!=i)
58            vis[p][p+len-1]=i, cnt[p][p+len-1]++;
59        }

60      }

61    }

62    
63    for(int j=l0-1; j>=p; j--){
64      if(cnt[p][j]==N-1){
65        if(mycmp(&ss[p], j-p+1, ans, strlen(ans))<0)
66          mycpy(ans, &ss[p], j-p+1);
67      }

68    }

69  }

70  
71  if(ans[0]==0)
72    puts("IDENTITY LOST");
73  else
74    puts(ans);
75}

76
77int main()
78{
79  while(readin()){
80    solve();
81  }

82}

83


posted on 2009-07-31 13:46 wolf5x 閱讀(718) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpc
<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

"Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore – drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming contests are only programming contests, and nothing more. Don't let them become your life - for your life is much more interesting and colorful." -- Petr

留言簿(3)

隨筆分類(59)

隨筆檔案(43)

cows

搜索

  •  

最新評論

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美色欧美亚洲高清在线视频| 欧美激情精品久久久久久久变态| 国产一在线精品一区在线观看| 欧美日韩麻豆| 欧美精品乱人伦久久久久久 | 日韩天堂在线视频| 亚洲精品在线电影| 亚洲视频电影在线| 亚久久调教视频| 久久午夜av| 欧美大片一区| 亚洲美女在线视频| 一区二区三区免费观看| 亚洲欧美日本国产有色| 欧美亚洲日本国产| 欧美va天堂在线| 欧美日韩国产成人| 国产美女精品免费电影| 国产一区二区高清| 91久久国产综合久久91精品网站| 99精品国产福利在线观看免费| 亚洲欧美日韩另类精品一区二区三区| 久久精品国亚洲| 欧美第一黄色网| 日韩一级精品| 久久免费国产| 欧美无砖砖区免费| 伊人男人综合视频网| 亚洲亚洲精品三区日韩精品在线视频 | 久久影院午夜片一区| 欧美日韩国产小视频在线观看| 国产精品久久久999| 国语精品中文字幕| 99精品国产热久久91蜜凸| 久久福利影视| 亚洲高清精品中出| 99热免费精品| 麻豆精品精品国产自在97香蕉| 欧美视频亚洲视频| 亚洲欧洲一区二区三区| 亚洲欧美综合v| 日韩一级成人av| 免费久久99精品国产自在现线| 国产女主播一区二区三区| 99精品国产99久久久久久福利| 久色婷婷小香蕉久久| 欧美自拍丝袜亚洲| 国产欧美精品一区二区色综合| 国产精品久久久久久久久动漫| 亚洲第一页自拍| 久久不射2019中文字幕| 亚洲看片一区| 欧美美女日韩| 亚洲精品无人区| 欧美高清免费| 久久一区免费| 亚洲国产一区二区精品专区| 久久久噜噜噜| 久久精品一二三| 国产有码一区二区| 久久久午夜视频| 久久激情五月丁香伊人| 国产伦精品一区二区三区免费| 亚洲伊人久久综合| 亚洲图片欧美午夜| 国产精品亚洲一区| 欧美一区二区三区在线视频 | 久久免费视频网站| 韩国在线一区| 农村妇女精品| 免费在线成人av| 亚洲美女视频在线观看| 亚洲人屁股眼子交8| 欧美大片第1页| 一区二区av在线| 亚洲一区二区免费看| 国产精品超碰97尤物18| 欧美在线网站| 久久视频在线看| 亚洲精品国精品久久99热一 | 久久久久久久性| 亚洲人成网站在线播| 99精品视频免费全部在线| 国产精品亚洲а∨天堂免在线| 久久精品一区蜜桃臀影院| 久久一日本道色综合久久| 亚洲美女福利视频网站| 一区二区三区免费网站| 国产亚洲欧美一区| 欧美大尺度在线| 欧美日韩亚洲一区二区三区在线观看| 亚洲欧美另类国产| 久久精品国产清高在天天线| 亚洲看片免费| 欧美一区二区三区在线免费观看| 91久久在线播放| 亚洲性视频网站| 亚洲第一视频网站| 中国女人久久久| 亚洲第一在线| 亚洲无亚洲人成网站77777| 国产一区在线免费观看| 亚洲乱码国产乱码精品精天堂| 国产精品伦子伦免费视频| 国产欧美精品一区二区色综合| 亚洲一区二区精品| 亚洲伊人网站| 亚洲经典三级| 亚洲欧美区自拍先锋| 亚洲高清一区二| 亚洲视频久久| 亚洲黄色免费网站| 亚洲欧美日韩精品久久久| 亚洲三级电影全部在线观看高清| 亚洲一区二区三区成人在线视频精品 | 亚洲欧洲精品成人久久奇米网| 国产精品美女诱惑| 亚洲国产精品成人精品| 国产女主播在线一区二区| 亚洲精品色婷婷福利天堂| 激情婷婷欧美| 性感少妇一区| 先锋a资源在线看亚洲| 欧美日韩亚洲视频一区| 亚洲激情一区| 亚洲精品影视| 欧美jizzhd精品欧美喷水| 久久免费的精品国产v∧| 国产精品日韩一区二区三区| 亚洲精品偷拍| 99re6这里只有精品| 欧美sm视频| 欧美电影在线观看完整版| 国内精品久久国产| 欧美专区亚洲专区| 久久久久久伊人| 国产视频在线观看一区二区| 亚洲一区二区三区在线| 亚洲欧美bt| 国产精品午夜春色av| 亚洲影视中文字幕| 欧美在线播放| 国产主播精品在线| 久久久久久亚洲精品杨幂换脸| 久久视频一区| 91久久国产精品91久久性色| 男人插女人欧美| 亚洲欧洲综合| 亚洲视频日本| 国产精品丝袜白浆摸在线| 亚洲欧美日韩一区二区| 久久一本综合频道| 亚洲国产三级在线| 欧美精品久久天天躁| 一本大道久久a久久精品综合| 亚洲一区在线视频| 国产视频一区二区在线观看 | 亚洲在线一区| 久久久99爱| 亚洲欧洲日产国产网站| 欧美绝品在线观看成人午夜影视| 亚洲精品在线观| 亚洲欧美日韩在线| 伊人春色精品| 国产欧美日韩亚洲精品| 亚洲成色777777女色窝| 亚洲精品视频一区| 国产精品国色综合久久| 小黄鸭精品aⅴ导航网站入口| 男同欧美伦乱| 亚洲午夜精品视频| 一区二区三区在线视频播放| 欧美xart系列在线观看| 亚洲一区二区三区三| 欧美v亚洲v综合ⅴ国产v| 一区二区三区国产精品| 国产一区二区三区精品久久久| 免费一级欧美片在线播放| 制服诱惑一区二区| 亚洲成人直播| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲国产欧美精品| 国产精品视频99| 欧美电影资源| 欧美一区二区三区男人的天堂| 亚洲高清精品中出| 久久精品人人做人人爽| 一本一道久久综合狠狠老精东影业| 国产欧美一区二区三区在线老狼 | 欧美一级久久久久久久大片| 亚洲激情网站免费观看| 久久久久高清| 亚洲婷婷国产精品电影人久久| 极品少妇一区二区三区| 欧美亚洲第一区| 欧美激情中文字幕一区二区| 久久久成人精品| 午夜激情久久久| 一区二区三区四区五区精品视频 | 亚洲精品久久7777|