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

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>
            夜夜嗨av一区二区三区四区| 久久久久成人网| 一本色道久久综合亚洲91| 国产在线乱码一区二区三区| 欧美三级电影一区| 欧美高清视频在线播放| 鲁鲁狠狠狠7777一区二区| 久久国产精品久久国产精品| 欧美一乱一性一交一视频| 亚洲午夜久久久| 亚洲裸体俱乐部裸体舞表演av| 久久久精品网| 欧美亚洲免费高清在线观看| 亚洲一区二区三区在线播放| 亚洲一区亚洲二区| 亚洲性夜色噜噜噜7777| 午夜精品久久久久久久99水蜜桃 | 性欧美暴力猛交69hd| 亚洲专区一区二区三区| 性色av一区二区三区| 久久成人一区| 国产欧美日韩一区二区三区在线观看| 欧美日韩亚洲不卡| 国产精品视频不卡| 一区二区三区在线不卡| 亚洲精品免费在线| 亚洲影视在线| 玖玖玖国产精品| 亚洲日韩欧美视频| 欧美中文字幕视频| 最新亚洲激情| 亚洲一区在线免费观看| 欧美在线观看一区二区| 久久久久综合| 亚洲精品乱码久久久久久久久| 日韩亚洲欧美精品| 先锋影音网一区二区| 久久综合国产精品| 欧美日韩你懂的| 国产一区二区久久精品| 最新亚洲电影| 亚洲一区免费| 欧美大片18| 亚洲天堂网在线观看| 久久国产色av| 欧美日韩视频在线观看一区二区三区| 国产精品国产一区二区| 好吊妞这里只有精品| 亚洲欧美激情视频| 亚洲激情视频网站| 欧美一区二区三区免费观看| 鲁鲁狠狠狠7777一区二区| 国产精品国产精品| 亚洲精品免费网站| 免费视频久久| 翔田千里一区二区| 国产精品久久999| 亚洲精品一级| 欧美aⅴ99久久黑人专区| 欧美一区深夜视频| 国产精品你懂的在线欣赏| 亚洲电影免费观看高清| 亚洲午夜视频在线观看| 免费久久99精品国产| 欧美一区二区高清在线观看| 欧美视频第二页| 亚洲免费不卡| 亚洲国产日韩在线一区模特| 亚洲二区精品| 欧美日韩中国免费专区在线看| 在线观看国产一区二区| 欧美专区在线播放| 亚洲在线播放电影| 欧美色一级片| 午夜精品久久久久久久久久久久| 亚洲精品视频免费观看| 亚洲性感激情| 亚洲激情综合| 国产亚洲成精品久久| 久久av一区二区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久男人资源视频| 欧美精品自拍偷拍动漫精品| 欧美高潮视频| 亚洲乱码精品一二三四区日韩在线 | 欧美精品成人| 国产一区久久久| 亚洲女女女同性video| 久久不见久久见免费视频1| 99re6这里只有精品| 欧美视频免费看| 久久久久久色| 欧美成年人网| 亚洲欧美中日韩| 久久精品国产第一区二区三区最新章节 | 日韩亚洲一区二区| 国产精品爽爽ⅴa在线观看| 久久女同互慰一区二区三区| 欧美成人免费va影院高清| 亚洲欧美精品伊人久久| 久久久久久尹人网香蕉| 日韩午夜激情av| 国内一区二区三区在线视频| 亚洲精品午夜精品| 亚洲国产综合在线| 亚洲午夜小视频| 国产女人水真多18毛片18精品视频| 久久精品论坛| 欧美在线观看日本一区| 亚洲国产精品久久久久秋霞影院 | 亚洲国产另类久久久精品极度| 日韩一二三区视频| 狠狠色伊人亚洲综合网站色| 亚洲一区二区三区中文字幕| 老色批av在线精品| 亚洲欧美国产精品va在线观看 | 亚洲欧美一区二区激情| 亚洲尤物影院| 久久精品动漫| 在线视频你懂得一区| 亚洲人成在线观看一区二区| 欧美成人午夜激情视频| 久久激情五月婷婷| 韩国一区电影| 午夜精品久久久久久久男人的天堂| 国产精品乱码妇女bbbb| 一区二区三区**美女毛片| 亚洲国产另类久久久精品极度| 欧美不卡视频| 欧美精品二区三区四区免费看视频| 久久精品一区四区| 久久国产主播精品| 在线观看视频免费一区二区三区| 欧美成人高清| 欧美视频四区| 一本综合久久| 欧美精品久久久久久久免费观看 | 亚洲国产日韩欧美在线99 | 久久精品夜色噜噜亚洲a∨| 欧美在线欧美在线| 樱桃国产成人精品视频| 亚洲高清av在线| 在线免费观看一区二区三区| 欧美激情偷拍| 久久精品91久久久久久再现| 91久久综合亚洲鲁鲁五月天| 国产精品xxxxx| 久久精品欧美| 欧美日韩一区视频| 国产精品99久久99久久久二8| 精品999日本| 国产有码一区二区| 亚洲区在线播放| 国模精品一区二区三区| 亚洲一区精品电影| 亚洲无线一线二线三线区别av| 精品va天堂亚洲国产| 亚洲一区亚洲| 亚洲免费不卡| 欧美 亚欧 日韩视频在线| 91久久在线观看| 久久精品青青大伊人av| 亚洲精品久久久久久久久久久久 | 亚洲免费观看高清完整版在线观看熊 | 欧美天天在线| 亚洲欧美在线网| 亚洲国产欧美在线| 午夜精品久久久| 久久久久久伊人| 欧美一级久久| 免费看成人av| 一区二区三区三区在线| 亚洲精品日韩综合观看成人91| 亚洲欧洲av一区二区三区久久| 一区二区三区福利| 久久精品国产亚洲高清剧情介绍| 亚洲精品色图| 久久精品免费播放| 亚洲欧美日韩一区二区三区在线观看 | 一区二区高清在线观看| 国产综合久久久久久鬼色| 国产一级精品aaaaa看| 一本色道久久99精品综合 | 欧美一区免费视频| 一本色道**综合亚洲精品蜜桃冫 | 久久久国产一区二区| 狠狠色丁香久久综合频道| 日韩视频在线免费观看| 9久re热视频在线精品| 免费高清在线一区| 欧美亚洲综合久久| 亚洲图片欧美日产| 亚洲国产日韩欧美一区二区三区| 亚洲成人自拍视频| 欧美国产成人精品| 亚洲精品影视| 欧美福利电影在线观看| 亚洲欧美在线高清| 欧美一区二区性| 国产欧美日韩视频一区二区三区 |