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

hdu 3374 String Problem 字符串最小、最大表示以及字串重復次數(KMP)

題意:
給出一個字符串,求其所有循環同構串中字典序最大的串以及最小的串。并且計算這兩個串在所有循環同構串中出現的次數

解法:
第一問,用經典的求串的最小表示的算法就可以了。
第二問,利用KMP算法前綴數組的性質,即最大后綴等于最長前綴的位置。從最小表示(最大表示)的位置開始計算next函數,將start+len-1位置作合法標志,計算nxt數組的時候順便計算標記(與AC自動機方法相同),然后統計標記個數即可~

代碼:(GCC)
 1 # include <string.h>
 2 # include <stdio.h>
 3 # include <stdbool.h>
 4 char str[2050000];
 5 int pre[2050000];
 6 bool end[2050000];
 7 int maxpos(int len)
 8 {
 9     int p1=0,p2=1,l=0,i;
10     while(p1<len&&p2<len&&l<len)
11     {
12         int cmp=str[p1+l]-str[p2+l];
13         if(!cmp)
14              l++;
15         else
16         {
17             if(cmp<0) p1+=l+1;
18             else p2+=l+1;
19             l=0;
20             p2+=(p2==p1);
21         }
22     }
23     return p1<p2?p1:p2;
24 }
25 int minpos(int len)
26 {
27     int p1=0,p2=1,l=0,i;
28     while(p1<len&&p2<len&&l<len)
29     {
30         int cmp=str[p1+l]-str[p2+l];
31         if(!cmp)
32              l++;
33         else
34         {
35             if(cmp>0) p1+=l+1;
36             else p2+=l+1;
37             l=0;
38             p2+=(p2==p1);
39         }
40     }
41     return p1<p2?p1:p2;
42 }
43 int gettimes(int start,int len)
44 {
45     int p,res=0;
46     memset(end,0,sizeof(end));
47     end[start+len-1]=1;
48     pre[start]=start-1;
49     for(p=start+1;p<2*len-1;p++)
50     {
51         pre[p]=pre[p-1];
52         while(pre[p]!=start-1&&str[pre[p]+1]!=str[p]) pre[p]=pre[pre[p]];
53         if(str[pre[p]+1]==str[p]) pre[p]++;
54         if(pre[p]!=start-1&&!end[p]) end[p]=end[pre[p]];
55         res+=end[p];
56     }
57     return res;
58 }
59 int main()
60 {
61     while(gets(str))
62     {
63         int len=strlen(str),i;
64         for(i=len;i<2*len-1;i++) str[i]=str[i-len];
65         str[2*len-1]='\0';
66         int p1=minpos(len);
67         int t1=gettimes(p1,len);
68         printf("%d %d ",p1+1,t1);
69         p1=maxpos(len);
70         t1=gettimes(p1,len);
71         printf("%d %d\n",p1+1,t1);
72     }
73     return 0;
74 }
75 


posted on 2010-11-27 21:06 yzhw 閱讀(617) 評論(0)  編輯 收藏 引用 所屬分類: string algorithm

<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

公告

統計系統

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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综合视频| 欧美一区二区精品久久911| 在线免费观看日韩欧美| 一道本一区二区| 伊人久久大香线蕉综合热线| 亚洲欧洲精品一区二区三区| 国产精品一区亚洲| 亚洲精品视频免费在线观看| 国产精品乱人伦一区二区| 免费成人你懂的| 国产精品萝li| 亚洲精品在线观看视频| 国产一区二区三区黄| 亚洲视频香蕉人妖| 亚洲激情中文1区| 久久国内精品视频| 一区二区三区四区五区视频| 开元免费观看欧美电视剧网站| 一区二区免费在线观看| 麻豆久久婷婷| 久久精品卡一| 国产日产亚洲精品| 亚洲人成网站999久久久综合| 曰韩精品一区二区| 亚洲伊人伊色伊影伊综合网| 在线中文字幕日韩| 久久综合色综合88| 久久一本综合频道| 国产精品久久久久久久第一福利| 亚洲国产视频一区| 影音先锋亚洲精品| 欧美在线视频在线播放完整版免费观看| 99国产精品私拍| 欧美激情一区二区三区在线视频观看| 麻豆成人综合网| 黄色欧美日韩| 午夜精品三级视频福利| 午夜在线一区| 欧美午夜电影在线| 一区二区av在线| 一区二区三区欧美日韩| 欧美日韩国产在线看| 欧美国产视频一区二区| 亚洲激情欧美激情| 老司机成人网| 亚洲国产精品视频一区| 精品电影在线观看| 久久亚洲精品一区二区| 久久亚洲一区二区| 亚洲午夜精品久久| 亚洲盗摄视频| 亚洲福利视频一区| 欧美成人午夜| 欧美高清在线视频观看不卡| 亚洲成人在线视频网站| 久久久亚洲成人| 亚洲国产精品va| 亚洲精品偷拍| 国产精品久久久| 亚洲私人影吧| 久久久久网站| 尤物在线精品| 欧美日韩亚洲在线| 亚洲视频www| 久久国产精品毛片| 黑人中文字幕一区二区三区| 久久久免费精品视频| 欧美jizzhd精品欧美喷水 | 久久婷婷影院| 亚洲电影视频在线| 欧美激情一区二区三区在线视频| 一本色道精品久久一区二区三区| 亚洲欧美激情一区二区| 国产夜色精品一区二区av| 开元免费观看欧美电视剧网站| 亚洲欧洲在线视频| 午夜老司机精品| 在线日本高清免费不卡| 欧美精彩视频一区二区三区| 亚洲一区一卡| 久久综合电影| 亚洲天堂网在线观看| 国产亚洲福利一区| 欧美精品www在线观看| 一区二区三区欧美视频| 欧美ed2k| 欧美一激情一区二区三区| 最新国产成人在线观看| 国产精品成人免费| 免费亚洲电影| 亚洲一级高清| 亚洲激情在线| 久久国产精品一区二区三区四区| 亚洲精品一区二区在线| 欧美日韩系列| 久热精品在线| 在线亚洲高清视频| 欧美黄色一区| 午夜精品久久久久久久久久久久| 亚洲激情在线观看| 国产乱人伦精品一区二区| 欧美大片91| 校园春色综合网| 一区二区三区精密机械公司| 久久在线91| 欧美亚洲一区二区三区| 亚洲另类视频| 亚洲国产成人av| 国产日韩一区二区| 国产精品白丝av嫩草影院| 女同性一区二区三区人了人一| 午夜精品久久久久| 99精品热6080yy久久 | 国产偷国产偷亚洲高清97cao| 欧美激情视频在线播放 | 亚洲视频欧美视频| 久久久久**毛片大全| 一区二区三区免费看| 日韩视频免费观看高清在线视频| 国产日韩欧美在线看| 国产精品美女久久久浪潮软件| 暖暖成人免费视频| 蜜桃久久av一区| 久久日韩精品| 久久久国产精彩视频美女艺术照福利| 亚洲欧美日韩中文视频| 中文在线资源观看网站视频免费不卡 | 一本久道久久久| 亚洲国产精品成人精品| 欧美成人在线网站| 久久久久国色av免费看影院| 久久gogo国模啪啪人体图| 亚洲男同1069视频| 亚洲欧美卡通另类91av| 一区二区日韩精品| 亚洲色图综合久久| 日韩亚洲欧美成人| 一本色道久久综合亚洲91| 国产日产欧美一区| 含羞草久久爱69一区| 激情久久五月| 亚洲国产视频一区| 亚洲国产成人午夜在线一区| 亚洲国产另类 国产精品国产免费| 亚洲国产精彩中文乱码av在线播放| 狠狠色狠狠色综合系列| 在线成人欧美| 亚洲激情一区二区三区| 亚洲深夜福利视频| 亚洲欧美日韩在线高清直播| 久久久另类综合| 玖玖国产精品视频| 亚洲欧洲精品一区二区三区不卡 | 精久久久久久| 永久555www成人免费| 亚洲国产毛片完整版| 欧美二区不卡| 国产精品欧美日韩| 国产欧美一区二区精品秋霞影院 | 午夜精品美女久久久久av福利| 午夜精品国产更新| 免费成人小视频| 欧美日本簧片| 国产美女精品| 亚洲大片精品永久免费| 日韩一二三在线视频播| 亚洲欧美国产精品桃花| 久久久久久久久久久久久久一区| 欧美高清视频在线观看| 亚洲理伦电影| 久久精品国产99国产精品澳门| 美女精品自拍一二三四| 国产精品视频yy9099| 一区二区三区在线高清| 亚洲午夜黄色| 久久综合九色99| 一二三四社区欧美黄| 久久婷婷麻豆| 国产精品卡一卡二卡三| 一区二区在线免费观看| 亚洲午夜精品17c| 欧美黄色一区二区| 亚洲永久免费视频| 欧美黄色影院| 国产日韩精品视频一区| 亚洲精品少妇网址| 午夜精品福利电影| 亚洲国内精品| 日韩视频在线一区| 国产欧美日韩| ●精品国产综合乱码久久久久| 亚洲午夜久久久久久久久电影网|