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

coreBugZJ

此 blog 已棄。

后綴數(shù)組

處理字符串的有力武器。。。

理論就不多講了,

我的實現(xiàn):


  1 // txt[ 0..n ), txt[ 0..n-1 ] > 0, txt[ n ] == 0
  2 
  3 // sa[ 1..n ] = [ 0..n-1 ], sa[ 0 ] = n
  4 
  5 // rk[ 0..n-1 ] = [ 1..n ], rk[ n ] = 0
  6 
  7 
  8 
  9 void Da( const unsigned int * txt, int * pn, int * sa, int * rk, int * ht, int * tot, int totSize ) {
 10 
 11         int *= rk, *= ht, *txy, lastRk = totSize - 1, i, j, len, n;
 12 
 13 
 14 
 15         for( i = 0; i <= lastRk; ++i ){
 16 
 17                 tot[ i ] = 0;
 18 
 19         }
 20 
 21         for( n = 0; txt[ n ]; ++n ){
 22 
 23                 ++tot[ txt[ n ] ];
 24 
 25         }
 26 
 27         ++tot[ txt[ *pn = n ] ];
 28 
 29         for( i = 1; i <= lastRk; ++i ){
 30 
 31                 tot[ i ] += tot[ i - 1 ];
 32 
 33         }
 34 
 35         for( i = n; i >= 0--i ){
 36 
 37                 sa[ --tot[ txt[ i ] ] ] = i;
 38 
 39         }
 40 
 41         x[ sa[ 0 ] ] = lastRk = 0;
 42 
 43         for( i = 1; i <= n; ++i ){
 44 
 45                 if( txt[ sa[ i - 1 ] ] != txt[ sa[ i ] ] ){
 46 
 47                         ++lastRk;
 48 
 49                 }
 50 
 51                 x[ sa[ i ] ] = lastRk;
 52 
 53         }
 54 
 55 
 56 
 57         for( len = 1; lastRk < n; len <<= 1 ){
 58 
 59                 j = -1;
 60 
 61                 for( i = n - len + 1; i <= n; ++i ){
 62 
 63                         y[ ++j ] = i;
 64 
 65                 }
 66 
 67                 for( i = 0; i <= n; ++i ){
 68 
 69                         if( sa[ i ] >= len ){
 70 
 71                                 y[ ++j ] = sa[ i ] - len;
 72 
 73                         }
 74 
 75                 }
 76 
 77 
 78 
 79                 for( i = 0; i <= lastRk; ++i ){
 80 
 81                         tot[ i ] = 0;
 82 
 83                 }
 84 
 85                 for( i = 0; i <= n; ++i ){
 86 
 87                         ++tot[ x[ y[ i ] ] ];
 88 
 89                 }
 90 
 91                 for( i = 1; i <= lastRk; ++i ){
 92 
 93                         tot[ i ] += tot[ i - 1 ];
 94 
 95                 }
 96 
 97                 for( i = n; i >= 0--i ){
 98 
 99                         sa[ --tot[ x[ y[ i ] ] ] ] = y[ i ];
100 
101                 }
102 
103 
104 
105                 txy = x;
106 
107                 x   = y;
108 
109                 y   = txy;
110 
111                 x[ sa[ 0 ] ] = lastRk = 0;
112 
113                 for( i = 1; i <= n; ++i ){
114 
115                         x[ sa[ i ] ] = ( ( y[ sa[ i - 1 ] ] == y[ sa[ i ] ] ) && 
116 
117                                          ( y[ sa[ i - 1 ] + len ] == y[ sa[ i ] + len ] )
118 
119                                        ) ? lastRk : ++lastRk;
120 
121                 }
122 
123         }
124 
125 
126 
127         for( i = 0; i <= n; ++i ){
128 
129                 rk[ i ] = x[ i ];
130 
131         }
132 
133 
134 
135         for( ht[ 0 ] = len = i = 0; i < n; ++i ){
136 
137                 if( len > 0 ){
138 
139                         --len;
140 
141                 }
142 
143                 j = sa[ rk[ i ] - 1 ];
144 
145                 while( txt[ i + len ] == txt[ j + len ] ){
146 
147                         ++len;
148 
149                 }
150 
151                 ht[ rk[ i ] ] = len;
152 
153         }
154 
155         return;
156 
157 }
158 


posted on 2011-03-20 19:12 coreBugZJ 閱讀(1312) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            黄色成人免费网站| 欧美亚洲色图校园春色| 中文精品视频一区二区在线观看| 国产亚洲欧美一区二区| 国产一区亚洲| 在线播放日韩专区| 亚洲精品自在久久| 亚洲一区二区在线免费观看| 亚洲小说春色综合另类电影| 亚洲欧美日韩精品在线| 欧美一区二区三区男人的天堂| 久久不见久久见免费视频1| 久久久久这里只有精品| 欧美不卡福利| 亚洲无线视频| 久久综合国产精品| 欧美日韩精品不卡| 国产欧美一二三区| 亚洲国产高清aⅴ视频| 夜夜嗨av一区二区三区四季av| 亚洲香蕉网站| 免费久久久一本精品久久区| 亚洲裸体在线观看| 欧美一级午夜免费电影| 欧美肥婆在线| 国产视频在线一区二区| 亚洲精品国产精品国自产观看| 亚洲综合色丁香婷婷六月图片| 久久久久久有精品国产| 亚洲精品一区二区三区av| 午夜精品一区二区三区在线播放| 欧美a级在线| 国外成人在线视频| 亚洲一区二区免费在线| 欧美电影打屁股sp| 校园激情久久| 国产精品国产精品国产专区不蜜| 亚洲第一区色| 久久久久久久波多野高潮日日 | 国产日韩欧美在线播放| 亚洲精选一区二区| 麻豆av一区二区三区| 在线亚洲美日韩| 欧美日韩p片| 亚洲美女黄色片| 亚洲欧美日韩综合国产aⅴ| 欧美成人福利视频| 欧美一区二区三区四区在线| 亚洲小视频在线观看| 欧美激情一区二区久久久| 亚洲一区二区三区影院| 欧美精品一区二区高清在线观看| 伊人久久综合97精品| 久久精品亚洲热| 午夜视黄欧洲亚洲| 国产欧美日韩亚洲| 欧美自拍偷拍| 欧美一区二区三区免费视| 国产区二精品视| 欧美一区二区三区视频在线 | 欧美成人精品高清在线播放| 激情五月综合色婷婷一区二区| 欧美亚洲免费电影| 亚洲欧美日韩在线播放| 国产欧美日韩不卡| 久久久久久亚洲精品杨幂换脸| 欧美主播一区二区三区| 伊人久久亚洲美女图片| 欧美高清不卡| 欧美激情aaaa| 一区二区高清| 亚洲一区精品视频| 国产一区视频在线看| 麻豆精品视频在线| 欧美成人激情在线| 亚洲网站在线观看| 亚洲欧美在线视频观看| 韩日视频一区| 亚洲精品午夜| 国产欧美日韩视频| 欧美chengren| 欧美三级午夜理伦三级中文幕| 亚洲综合大片69999| 欧美一区二区女人| 亚洲精品少妇30p| 亚洲一区二区三| 精品成人一区二区| 亚洲精品美女免费| 国产精品视频| 欧美电影免费网站| 国产精品伦一区| 免费在线播放第一区高清av| 欧美精品九九| 久久久水蜜桃av免费网站| 欧美日韩国产高清| 久久久亚洲综合| 欧美日韩精品一本二本三本| 久久久久久久国产| 欧美日韩在线看| 麻豆久久婷婷| 国产精品入口66mio| 欧美激情影音先锋| 国产无一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲午夜三级在线| 久久久久久久久岛国免费| 正在播放日韩| 蜜桃久久av一区| 久久国产精品久久国产精品| 欧美日本免费| 欧美国产一区二区三区激情无套| 欧美三级在线| 亚洲黄页一区| 亚洲国产日韩欧美综合久久 | 一区二区三区精品久久久| 亚洲大胆人体视频| 欧美一二三区在线观看| 亚洲网在线观看| 欧美日韩成人综合| 亚洲国产精品va在线看黑人 | 亚洲精品日韩久久| 久久精品视频网| 亚洲精品少妇30p| 性欧美暴力猛交69hd| 久久综合精品一区| 欧美在线网址| 欧美日韩一区二区精品| 欧美激情视频一区二区三区免费| 国产乱码精品1区2区3区| 99精品国产福利在线观看免费| 亚洲人成网站影音先锋播放| 久久夜色精品国产欧美乱极品| 久久久久久久综合日本| 国产日韩在线一区| 欧美伊人影院| 久久午夜精品一区二区| 国产一区二区三区四区五区美女| 亚洲一区二区三区在线看| 亚洲午夜精品久久| 欧美色综合网| 亚洲午夜精品国产| 亚洲欧美日韩国产中文在线| 亚洲成色999久久网站| 亚洲综合不卡| 亚洲一区二区三区色| 欧美日韩一区在线观看视频| 亚洲精品中文字| 亚洲网站在线播放| 国产精品av久久久久久麻豆网| 日韩一级免费| 欧美在线观看一区| 国产欧美日韩精品丝袜高跟鞋| 亚洲男同1069视频| 久久视频在线看| 亚洲激情中文1区| 欧美日韩在线播放一区二区| 亚洲天堂视频在线观看| 欧美在线视频在线播放完整版免费观看| 欧美日韩国产影院| 亚洲在线一区二区三区| 久久精品国产999大香线蕉| 黄色成人精品网站| 欧美韩国日本一区| 亚洲嫩草精品久久| 美女主播一区| 在线一区视频| 狠狠综合久久av一区二区老牛| 男人插女人欧美| 亚洲视频国产视频| 欧美成人精品一区二区三区| 一区二区三区久久网| 国产性猛交xxxx免费看久久| 蜜桃av一区二区| 亚洲在线黄色| 欧美激情女人20p| 亚洲男同1069视频| 亚洲韩国精品一区| 国产精品日韩精品| 免费日韩一区二区| 亚洲免费视频一区二区| 亚洲高清色综合| 欧美一区在线视频| 亚洲人成在线免费观看| 国产精品日韩精品欧美在线 | 你懂的国产精品| 欧美一级理论片| 亚洲美女视频网| 欧美国产第二页| 久久久久久夜| 亚洲女女女同性video| 亚洲高清不卡| 狠狠色伊人亚洲综合成人| 国产精品白丝黑袜喷水久久久| 久久视频精品在线| 久久www成人_看片免费不卡| 亚洲一区国产一区| 亚洲小视频在线观看| 夜夜嗨av一区二区三区| 亚洲国产精品美女| 欧美国产日韩二区|