日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

字符串循环同构的最小表示法(转)

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串循环同构的最小表示法(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

循環字符串的最小表示法的問題可以這樣描述:

對于一個字符串S,求S的循環的同構字符串S’中字典序最小的一個。

由于語言能力有限,還是用實際例子來解釋比較容易:
設S=bcad,且S’是S的循環同構的串。S’可以是bcad或者cadb,adbc,dbca。而且最小表示的S’是adbc。
對于字符串循環同構的最小表示法,其問題實質是求S串的一個位置,從這個位置開始循環輸出S,得到的S’字典序最小。
一種樸素的方法是設計i,j兩個指針。其中i指向最小表示的位置,j作為比較指針。

令i=0,j=1
如果S[i] > S[j] i=j, j=i+1
如果S[i] < S[j] j++
如果S[i]==S[j]?設指針k,分別從i和j位置向下比較,直到S[i] != S[j]
?????????如果S[i+k] > S[j+k] i=j,j=i+1
?????????否則j++
返回i

起初,我想在j指針后移的過程中加入一個優化。就是j每次不是加1,而是移動到l位置。其中,l>j且S[l]<=S[j]。但是,即使加入這一優化,在遇到bbb…bbbbbba這樣的字符串時復雜度將退化到O(n^2)。

注意到,樸素算法的缺陷在于斜體的情況下i指針的移動太少了。針對這一問題改進就得到了最小表示法的算法。最小表示法的算法思路是維護兩個指針i,j。

令i=0,j=1
如果S[i] > S[j] i=j, j=i+1
如果S[i] < S[j] j++
如果S[i]==S[j]?設指針k,分別從i和j位置向下比較,直到S[i] != S[j]
?????????如果S[i+k] > S[j+k] i=i+k
?????????否則j++
返回i和j的小者

注意到上面兩個算法唯一的區別是粗體的一行。這一行就把復雜度降到O(n)了。
值得一提的是,與KMP類似,最小表示法處理的是一個字符串S的性質,而不是看論文時給人感覺的處理兩個字符串。
應用最小表示法判斷兩個字符串同構,只要將兩個串的最小表示求出來,然后從最小表示開始比較。剩下的工作就不用多說了。

?

[cpp]?view plaincopy
  1. int?MinimumRepresentation(char?*s,?int?l)??
  2. {??
  3. ????int?i?=?0,?j?=?1,?k?=?0,?t;??
  4. ????while(i?<?l?&&?j?<?l?&&?k?<?l)?{??
  5. ????????t?=?s[(i?+?k)?>=?l???i?+?k?-?l?:?i?+?k]?-?s[(j?+?k)?>=?l???j?+?k?-?l?:?j?+?k];??
  6. ????????if(!t)?k++;??
  7. ????????else{??
  8. ????????????if(t?>?0)?i?=?i?+?k?+?1;??
  9. ????????????else?j?=?j?+?k?+?1;??
  10. ????????????if(i?==?j)?++?j;??
  11. ????????????k?=?0;??
  12. ????????}??
  13. ????}??
  14. ????return?(i?<?j???i?:?j);??
  15. } ?

http://acm.timus.ru/problem.aspx?space=1&num=1423

這個題目可以練練手,也可用KMP?

轉載于:https://www.cnblogs.com/PegasusWang/archive/2013/05/28/3104851.html

總結

以上是生活随笔為你收集整理的字符串循环同构的最小表示法(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91高清在线免费观看 | 777奇米四色 | 在线91av | 二区三区| 欧美bbbbbbbbbbbb精品 | 欧美国产在线看 | 天海翼一二三区 | 日日射夜夜操 | 无码人妻精品一区二区三区温州 | 亚洲av无码国产精品麻豆天美 | 日本熟妇人妻中出 | 午夜精品久久久久久久久久 | 最新永久地址 | freesex性hd公交车上 | 亚洲第一毛片 | 亚洲爽片 | 真实新婚偷拍xxxxx | 国产在线拍揄自揄拍 | 亚洲精品综合 | 亚洲免费网站在线观看 | 少妇在线| 国内精久久久久久久久久人 | 亚洲黄色免费 | 久久国产中文 | 色黄网站在线观看 | 亚洲五十路 | 精品国产乱码久久久久久蜜臀网站 | 午夜精品在线免费观看 | 黄色免费网站视频 | 欧美性猛交xxxx乱大交3 | 一个人看的www视频在线观看 | 欧美9999 | 欧美色图校园春色 | 久久亚洲精品无码va白人极品 | 九久久 | 国产精品无码av在线有声小说 | 伊人热久久 | 成人免费淫片aa视频免费 | 国产不卡视频在线观看 | jizzjizz黄大片| 国产一区二区免费在线 | 免费在线视频你懂的 | av日韩在线免费观看 | 亚洲第一色网站 | 双性皇帝高h喷汁呻吟 | 干美女少妇 | 国产在线播 | 污污视频免费观看 | 亚洲色图 美腿丝袜 | 在线观看一区二区三区视频 | 精品人妻无码专区在线 | 未满十八18禁止免费无码网站 | 国产美女永久免费 | 国产99久久久欧美黑人 | 久久久久久久无码 | 国产激情视频一区二区 | 成年人黄色在线观看 | 先锋资源国产 | 久久禁 | 电车痴汉在线观看 | 成人特级毛片69免费观看 | 52av在线| 欧美精品在线播放 | www.狠狠艹 | 久久免费手机视频 | 古装做爰无遮挡三级聊斋艳谭 | 午夜黄视频 | 牛牛影视一区二区三区 | 国产午夜亚洲精品午夜鲁丝片 | 黄色片免费视频 | free性护士vidos猛交 | 婷婷麻豆 | 国产精品成人免费视频 | 99视频只有精品 | 日韩高清三区 | 国产成人黄色片 | 91高跟黑色丝袜呻吟在线观看 | 特大黑人娇小亚洲女mp4 | 麻豆成人免费视频 | 亚洲色图丝袜 | 爆操网站 | 欧美成年人 | 热久久在线 | 丰满人妻一区二区三区免费 | 日本最新中文字幕 | 亚洲一区二区三区麻豆 | 亚洲成人免费在线观看 | 国产a视频精品免费观看 | 国内自拍第三页 | 夜夜天天拍拍 | 亚洲无限码 | 久久久福利 | 日本黄色大片在线观看 | 欧美性猛交一区二区三区精品 | 日本a∨视频 | 色a在线 | 最新最近中文字幕 | 久久久精品在线观看 | 免费无码又爽又黄又刺激网站 |