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

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
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

"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国产精品| 国产精品国产自产拍高清av| 亚洲韩国日本中文字幕| 毛片av中文字幕一区二区| 亚洲综合二区| 国产精品一区二区三区成人| 亚洲免费视频成人| 99国产精品99久久久久久粉嫩| 欧美成人免费小视频| 亚洲激情偷拍| 亚洲国产成人精品久久久国产成人一区| 午夜精品视频网站| 国产精品毛片在线看| 亚洲综合第一| 亚洲一级黄色片| 国产色产综合色产在线视频| 久久成人18免费观看| 欧美一区二区免费| 精品av久久久久电影| 欧美xxx在线观看| 欧美激情一区二区三区在线视频观看 | 亚洲高清视频的网址| 欧美黄色大片网站| 亚洲最新合集| 亚洲图片欧美日产| 国产欧美欧美| 久久久亚洲高清| 六月丁香综合| 国产精品99久久久久久宅男| 一区二区激情| 久久午夜精品| 久久久噜噜噜久噜久久| 亚洲美女电影在线| 国产精品一区免费视频| 久久久久久久999精品视频| 久久久免费精品| 日韩视频免费观看高清在线视频| 日韩一区二区免费看| 国产欧美日韩在线播放| 久久综合狠狠综合久久综青草 | 久久蜜臀精品av| 99国产精品一区| 欧美一级片在线播放| 亚洲欧洲三级| 亚洲欧美国产视频| 亚洲欧洲日产国产综合网| 在线视频亚洲一区| 一区二区在线视频播放| 亚洲卡通欧美制服中文| 狠狠色丁香久久婷婷综合_中| 亚洲黄色小视频| 国产美女精品视频| 亚洲国产一区二区精品专区| 国产欧美在线播放| 亚洲精美视频| 一区二区三区在线视频观看| 在线亚洲伦理| 91久久精品一区| 欧美一级播放| 在线亚洲成人| 欧美bbbxxxxx| 久热精品视频在线| 国产精品自拍一区| 亚洲精选在线| 亚洲精品综合在线| 久久久91精品国产| 欧美在线不卡视频| 欧美日韩在线高清| 亚洲电影免费观看高清| 国产亚洲欧美一区二区| 亚洲自拍都市欧美小说| 亚洲一区二区黄| 欧美精品国产一区| 亚洲国产精品精华液2区45| 国内精品美女av在线播放| 亚洲一区欧美二区| 亚洲一区二区三区免费视频| 欧美激情一区二区三区在线视频| 欧美~级网站不卡| 黄色成人在线| 久久久久久久精| 蜜桃久久av| 亚洲国产裸拍裸体视频在线观看乱了| 久久精品国产精品亚洲| 久久亚洲精品一区二区| 国内在线观看一区二区三区| 午夜精品视频| 久久亚洲欧美| 在线日韩电影| 快射av在线播放一区| 欧美xx69| 99国产成+人+综合+亚洲欧美| 欧美成在线视频| 亚洲国产婷婷香蕉久久久久久99 | 一区二区三区欧美日韩| 欧美激情一区二区三区成人 | 国产精品久久看| 亚洲自啪免费| 久久久免费精品| 影音先锋欧美精品| 免费高清在线视频一区·| 欧美成人精品在线观看| 亚洲日本理论电影| 欧美老女人xx| 9久re热视频在线精品| 欧美亚洲免费在线| 欧美激情久久久| 一区二区三区高清不卡| 欧美日韩国产色综合一二三四 | 久久久久久亚洲精品杨幂换脸 | 在线视频欧美日韩精品| 欧美日韩国产欧| 99在线|亚洲一区二区| 午夜一级久久| 精品盗摄一区二区三区| 欧美~级网站不卡| 在线亚洲精品| 免费中文字幕日韩欧美| 一本色道久久88综合日韩精品| 欧美日韩少妇| 欧美亚洲在线播放| 亚洲大胆在线| 久久九九免费视频| 亚洲人体1000| 夜夜嗨av一区二区三区四季av| 免费在线亚洲| 亚洲一二区在线| 欧美.日韩.国产.一区.二区| 99在线精品免费视频九九视| 国产精品素人视频| 久久影院午夜论| 亚洲午夜高清视频| 欧美不卡高清| 性欧美超级视频| 在线观看一区二区视频| 国产精品成人一区二区三区夜夜夜 | 欧美 日韩 国产 一区| 亚洲综合色自拍一区| 亚洲高清影视| 国产婷婷97碰碰久久人人蜜臀| 亚洲国产精品久久久久婷婷老年| 午夜一区二区三区不卡视频| 亚洲人成在线免费观看| 国内精品久久久| 国产精品va在线播放我和闺蜜| 久久久久久久999精品视频| 宅男噜噜噜66一区二区66| 欧美高清你懂得| 999亚洲国产精| 永久久久久久| 亚洲视频播放| 亚洲欧美日本国产有色| 亚洲精品乱码| 在线播放豆国产99亚洲| 国产女同一区二区| 欧美日韩直播| 欧美成人免费一级人片100| 欧美一区二区三区四区高清| 一本色道久久综合亚洲精品婷婷 | 91久久夜色精品国产九色| 久久久久国色av免费观看性色| 亚洲一区二区三区免费观看| 亚洲片在线资源| 欧美激情视频一区二区三区在线播放| 午夜精品视频在线观看一区二区 | 欧美成人久久| 久久亚洲电影| 久久精品麻豆| 久久久高清一区二区三区| 午夜亚洲福利| 亚洲影视在线| 亚洲欧美日韩精品一区二区| 欧美日韩中文另类| 欧美国产一区二区| 欧美mv日韩mv国产网站| 看片网站欧美日韩| 狼人社综合社区| 免费精品视频| 欧美高清视频在线观看| 欧美激情视频给我| av成人动漫| 亚洲精品国产精品久久清纯直播| 亚洲电影网站| 亚洲精品一区二区三区四区高清| 亚洲毛片一区| 亚洲一区二区三区在线看 | 欧美人交a欧美精品| 欧美国产成人在线| 欧美无砖砖区免费| 国产午夜精品视频| 亚洲国产成人精品女人久久久 | 亚洲欧美国内爽妇网| 欧美一区二区| 美日韩精品免费| 欧美美女福利视频| 国产精品视频你懂的| 国产伦精品一区二区三区免费 |