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

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年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

"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>
            欧美日韩精品欧美日韩精品 | 亚洲国产福利在线| 99精品国产99久久久久久福利| 小黄鸭精品aⅴ导航网站入口| 欧美1区2区3区| 久久久久国产一区二区三区| 国产视频亚洲精品| 欧美一区二区成人| 亚洲小说欧美另类婷婷| 欧美日韩在线精品| 一区二区三区精品视频| 亚洲欧洲在线看| 欧美xart系列在线观看| 亚洲人成人99网站| 亚洲精品影视在线观看| 欧美日韩调教| 午夜性色一区二区三区免费视频| 亚洲免费中文| 精品白丝av| 亚洲国产经典视频| 欧美精品电影| 亚洲视频在线视频| 亚洲在线视频观看| 激情综合激情| 亚洲精品在线免费观看视频| 欧美三级精品| 西西人体一区二区| 久久国产精品一区二区三区| 伊人久久大香线| 亚洲国产经典视频| 欧美婷婷六月丁香综合色| 亚洲主播在线| 久久精品国产视频| 亚洲美女黄网| 亚洲特色特黄| 在线免费一区三区| 99re热精品| 国产在线高清精品| 亚洲精品老司机| 国产区精品视频| 国模私拍视频一区| 欧美成人在线网站| 欧美日韩国产123区| 香蕉久久夜色精品国产使用方法| 久久精品卡一| 亚洲一区二区三区精品动漫| 久久电影一区| 夜夜精品视频一区二区| 午夜精品一区二区三区在线播放 | 欧美日韩亚洲精品内裤| 欧美一区二区成人6969| 蜜臀久久99精品久久久画质超高清| 99热在这里有精品免费| 亚洲欧美日韩国产中文| 亚洲久久视频| 久久精品国产99精品国产亚洲性色| 亚洲最新在线| 久久精品男女| 亚洲免费伊人电影在线观看av| 久久精品在线观看| 亚洲免费影视第一页| 乱中年女人伦av一区二区| 性欧美办公室18xxxxhd| 欧美连裤袜在线视频| 久久伊人免费视频| 国产精品入口尤物| 日韩视频免费| 亚洲精品久久久久久久久久久久久 | 亚洲精品在线一区二区| 欧美一区午夜视频在线观看| 99国产一区| 免费在线播放第一区高清av| 久久久久高清| 国产日韩欧美在线一区| 中文av字幕一区| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美国产精品v| 国产一级揄自揄精品视频| 中文网丁香综合网| 一本色道久久综合亚洲精品按摩| 免费成人av在线| 欧美国产精品va在线观看| 在线精品国产欧美| 欧美怡红院视频| 久久精视频免费在线久久完整在线看| 国产精品a级| 亚洲视频中文字幕| 午夜精品理论片| 国产日韩精品一区二区三区在线| 亚洲视频视频在线| 亚洲欧美国产日韩中文字幕| 国产精品mv在线观看| 99精品久久久| 亚洲一级在线观看| 国产精品xvideos88| 99这里只有精品| 亚洲专区免费| 国产农村妇女毛片精品久久莱园子| 亚洲一级黄色| 好吊成人免视频| 欧美专区日韩专区| 蜜桃av噜噜一区| 亚洲国产成人一区| 欧美v国产在线一区二区三区| 亚洲电影自拍| 在线一区二区三区做爰视频网站| 欧美午夜激情在线| 欧美伊人久久| 亚洲成人在线免费| 亚洲精品1区| 一区二区三区精品| 欧美日韩直播| 亚洲综合三区| 久久免费视频网站| 亚洲第一页在线| 欧美伦理影院| 亚洲欧美精品| 欧美二区在线播放| 亚洲五月婷婷| 国产在线观看精品一区二区三区| 久久免费视频在线| 日韩五码在线| 久久久久一区二区三区| 亚洲高清不卡在线| 欧美日韩国产专区| 欧美一区二区三区免费视频| 欧美本精品男人aⅴ天堂| 中日韩美女免费视频网址在线观看 | 极品少妇一区二区三区| 欧美激情在线免费观看| 亚洲综合色噜噜狠狠| 欧美黄色片免费观看| 99国产成+人+综合+亚洲欧美| 国产精品一区免费在线观看| 麻豆成人在线观看| 亚洲欧美成人| 亚洲国产影院| 久久爱另类一区二区小说| 亚洲日本乱码在线观看| 国产午夜精品理论片a级大结局 | 亚洲天堂av综合网| 欧美成人激情视频| 小黄鸭精品密入口导航| 99国产精品自拍| 在线观看视频日韩| 国产毛片精品国产一区二区三区| 女同性一区二区三区人了人一| 亚洲欧美清纯在线制服| 最新成人av在线| 免费亚洲电影在线| 午夜亚洲福利| 亚洲无线一线二线三线区别av| 在线日韩中文字幕| 久久免费高清视频| 亚洲一区网站| 亚洲人成久久| 欧美国产91| 久久久蜜桃一区二区人| 亚洲综合视频1区| 在线亚洲一区二区| 亚洲精品日韩久久| 亚洲国产导航| 亚洲国产精品久久久久秋霞蜜臀| 国产日韩欧美电影在线观看| 欧美午夜女人视频在线| 欧美日韩精选| 欧美日韩一卡| 欧美日韩中文字幕在线视频| 欧美激情一区二区| 欧美国产日产韩国视频| 免费观看国产成人| 久久亚洲捆绑美女| 久久网站热最新地址| 久久这里只有精品视频首页| 久久精品视频导航| 久久久www免费人成黑人精品| 欧美资源在线观看| 欧美综合二区| 久久久久免费| 免费观看30秒视频久久| 麻豆精品网站| 嫩草国产精品入口| 欧美极品色图| 欧美性猛交xxxx乱大交蜜桃| 国产精品久久久久久久久久免费| 国产精品久久久久77777| 国产精品久久久久久模特| 国产精品久久久久久久第一福利| 国产精品久久久久天堂| 国产女人精品视频| 国产原创一区二区| 亚洲人屁股眼子交8| 一个人看的www久久| 校园激情久久| 美女尤物久久精品| 亚洲人成毛片在线播放女女| 亚洲神马久久| 久久九九99| 欧美欧美在线| 国产亚洲精品美女|