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

poj 1509 Glass Beads 字符串最小表示

   赤裸裸的字符串最小表示題。所謂字符串最小表示指的是給定一個字符串,假設其可以循環移
位,問循環左移多少位能夠得到最小的字符串。
   算法即是周源的最小表示法,搜索可以找到相關論文和ppt。
   該算法其實也不是太復雜,思路可以這樣理解。假設原字符串為s,設s1 = s + s; s2 = s1循
環左移1位;現在處理s1和s2,實際寫程序的時候可以通過下標偏移和取模得到s1和s2,而并不需
要生成。
   處理過程是這樣的,設i和j分別指向s1和s2的開頭。我們的目的是找到這樣的i和j,假設k是s的
長度,滿足條件s1[i,i+k-1] = s2[j,j+k-1] 并且s1[i,i+k-1] 是所有滿足條件的字符串中最小的
字符串,如果有多個這樣的s1[i,i+k-1] 那么我們希望i最小。
   其實這個算法主要是做了一個優化,從而把時間搞成線性的。比如,對于當前的i和j,我們一直
進行匹配,也就是s1[i,i+k] = s2[j,j+k] 一直滿足,突然到了一個位置s1[i+k]  != s2[j+k]了,
現在我們需要改變i和j了。但是,我們不能只是++i或者++j。而是根據s1[i+k]>s2[j+k]的話i =
i + k + 1,否則j = j + k + 1。這樣的瞬移i或者j就能夠保證復雜度是線性的了。
   問題是如何證明可以這樣的瞬移。其實,說穿了也很簡單。因為s1[i,i+k - 1] = s2[j,j+k -1]
是滿足的,只是到了s1[i+k]和s2[j+k]才出現問題了。假如s1[i+k]>s2[j+k],那么我們改變i為
區間[i+1,i+k]中任何一個值m都不可能得到我們想要的答案,這是因為我們總可以在s2中找到相應
的比s1[m,m+k-1]小的字符串s2[j+m-i,j+m-i+k-1],因為有s1[i+k]>s2[j+k]。
   同樣對于s1[i+k]<s2[j+k]的情況。
   文字可能描述的不是很清楚。看PPT能夠根據圖進行分析。

   代碼如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <string>
#include <iostream>
using namespace std;

int GetMin(string& str)
{
    int nSize = str.size();
    int i = 0, j = 1, k = 0;
    
    while (i < nSize && j < nSize && k < nSize)
    {
        char chDif = str[(i + k) % nSize]
                    - str[(j + k) % nSize];
        if (!chDif) ++k;
        else
        {
            if (chDif > 0) i = i + k + 1;
            else j = j + k + 1;
            if (i == j) ++j;
            k = 0;
        }
    }
    return min(i, j);
}

int main()
{
    string str;
    int nN;
    
    scanf("%d", &nN);
    while (nN--)
    {
        cin >> str;
        printf("%d\n", GetMin(str) + 1);
    }
    
    return 0;
}

posted on 2012-10-19 19:44 yx 閱讀(1081) 評論(0)  編輯 收藏 引用 所屬分類: 字符串

<2012年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

公告

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

me

好友

同學

網友

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩一区二区三区| 亚洲国产日韩美| 午夜精品视频在线观看| 亚洲一本视频| 国产免费成人在线视频| 国产亚洲一区二区在线观看| 久久国产高清| 亚洲国产一成人久久精品| 欧美人与性动交a欧美精品| 99热这里只有成人精品国产| 乱中年女人伦av一区二区| 亚洲欧美国产精品va在线观看 | 国产精品视频免费| 久久不见久久见免费视频1| 久久精品夜色噜噜亚洲a∨| 国产精品一区二区欧美| 久久一区二区精品| 久久精品国产亚洲一区二区三区| 亚洲视频国产视频| 欧美激情第五页| 亚洲激情成人| 欧美1区免费| 欧美伊人久久久久久久久影院| 黄色成人av网站| 韩国欧美一区| 亚洲欧洲在线一区| 亚洲淫性视频| 欧美国产视频在线观看| 亚洲第一精品久久忘忧草社区| 欧美激情精品久久久| 免费精品视频| 欧美影视一区| 久久精品国产久精国产思思| 日韩视频三区| 亚洲一区二区在线看| 久久爱www久久做| 亚洲男同1069视频| 麻豆av一区二区三区| 一本色道久久综合亚洲精品小说 | 日韩视频在线观看免费| 久久久五月婷婷| 国产精品女主播一区二区三区| 亚洲免费中文| 久久亚洲综合色| 欧美激情第五页| 国产欧美精品一区二区三区介绍| 国产精品一区免费观看| 亚洲三级网站| 亚洲视频第一页| 狠狠色狠狠色综合人人| 久久人人超碰| 一本色道久久综合亚洲二区三区| 久久精品人人爽| 欧美无乱码久久久免费午夜一区 | 欧美午夜寂寞影院| 亚洲成色精品| 男人的天堂亚洲| 另类酷文…触手系列精品集v1小说| 欧美日韩一区三区| 在线观看国产日韩| 美女图片一区二区| 欧美激情1区2区3区| 国产精品久久久久久久久久妞妞 | 欧美日韩视频不卡| 亚洲综合视频在线| 欧美亚洲三级| 国产精品一区二区久久久| 亚洲少妇诱惑| 美女尤物久久精品| 欧美在线视频一区二区三区| 日韩网站在线看片你懂的| 欧美精品二区| 日韩午夜电影在线观看| 欧美亚洲一区三区| 亚洲一区二区免费| 欧美精品亚洲一区二区在线播放| 欧美不卡一区| 永久久久久久| 久久久久久国产精品mv| 亚洲国产精品女人久久久| 日韩一级精品| 在线看国产一区| 亚洲欧美日韩国产成人精品影院| 国产精品swag| 米奇777在线欧美播放| 欧美 日韩 国产在线| 亚洲国产精品免费| 国产精品国产三级国产专播精品人 | 久久国产精彩视频| 欧美电影美腿模特1979在线看| 国产精品视频yy9299一区| 一本色道久久综合亚洲精品不| 亚洲三级视频| 久久经典综合| 亚洲第一天堂av| 亚洲影院免费| 欧美伦理91i| 欧美高清在线视频| 最新国产成人在线观看| 欧美二区视频| 欧美 日韩 国产一区二区在线视频| 久久嫩草精品久久久久| 欧美激情精品久久久久久久变态| 美女啪啪无遮挡免费久久网站| 国产精品免费一区二区三区观看| 亚洲免费小视频| 亚洲精一区二区三区| 久久嫩草精品久久久精品一 | 久久精品欧美日韩精品| 亚洲人成网站在线观看播放| 久久在线免费观看视频| 一区二区欧美国产| 欧美激情综合色| 久久久在线视频| 亚洲欧美不卡| 久久尤物视频| 久久国产欧美| 欧美一区观看| 久久一区二区三区国产精品| 国产一区二区日韩精品欧美精品| 欧美一区午夜视频在线观看| 日韩亚洲精品电影| 欧美国产日韩一区| 一本久久精品一区二区| 亚洲日本久久| 亚洲风情亚aⅴ在线发布| 亚洲性线免费观看视频成熟| 国产精品一区2区| 国产精品视频九色porn| 欧美午夜激情小视频| 欧美日韩视频不卡| 欧美精品在线视频观看| 亚洲一区国产视频| 亚洲影院免费观看| 欧美一区二区三区免费看| 日韩视频免费在线| 亚洲国产成人久久综合一区| 欧美国产日本在线| 欧美激情精品久久久久久大尺度| 美脚丝袜一区二区三区在线观看 | 性欧美8khd高清极品| 亚洲国产日韩欧美在线99| 欧美激情第3页| 亚洲一区二区在线| 久久国产精品黑丝| 欧美视频在线观看一区二区| 国产毛片精品国产一区二区三区| 欧美日本不卡| 国产区精品在线观看| 欧美日韩精品久久| 欧美激情1区2区| 欧美日韩成人免费| 国产欧美视频一区二区三区| 亚洲破处大片| 艳妇臀荡乳欲伦亚洲一区| 亚洲视频播放| 欧美一区二区三区日韩视频| 久久人人精品| 日韩西西人体444www| 久久精品免视看| 国产精品久久久久久妇女6080| 亚洲伦伦在线| 亚洲永久免费av| 久久久久这里只有精品| 欧美激情网站在线观看| 亚洲精品国产精品乱码不99按摩| 亚洲欧美国产精品va在线观看| 久久成人一区| 亚洲国产精品综合| 欧美成人资源| 国产精品资源在线观看| 99成人精品| 久久成人精品一区二区三区| 亚洲国产视频一区| 欧美激情综合在线| 亚洲男人第一网站| 亚洲人成毛片在线播放| 免费在线观看精品| 一区二区三区我不卡| 欧美母乳在线| 中文成人激情娱乐网| 欧美一区1区三区3区公司| 午夜在线不卡| 国产日韩欧美在线观看| 亚洲欧美在线高清| 欧美综合第一页| …久久精品99久久香蕉国产 | 国产真实乱子伦精品视频| 亚洲激情二区| 亚洲午夜视频在线| 亚洲电影视频在线| 亚洲人成网站在线观看播放| 国产精品久久久久久久久久免费看| 亚洲精品美女| 亚洲电影有码| 韩日精品视频| 99热在线精品观看| 日韩一区二区精品葵司在线| 一区二区三区精品| 一区久久精品|