24h購物| | PChome| 登入
2012-03-29 17:06:48| 人氣1,454| 回應0 | 上一篇 | 下一篇

最小表示法〈Minimal Representation〉

推薦 0 收藏 0 轉貼0 訂閱站台

IOI2003冬令营演示文稿安徽周源浅析“最小表示法”思想在字符串循环同构问题中的应用
相關網址:http://www.docin.com/p-26433604.html

int MinExp(const char *s, const int slen) {
int i = 0, j = 1, k = 0, x, y, tmp;
while(i < slen && j < slen && k < slen) {
x = i + k;
y = j + k;
if(x >= slen) x -= slen;
if(y >= slen) y -= slen;
if(s[x] == s[y]) {
k++;
} else if(s[x] > s[y]) {
i = j+1 > i+k+1 ? j+1 : i+k+1;
k = 0;
tmp = i, i = j, j = tmp;
} else {
j = i+1 > j+k+1 ? i+1 : j+k+1;
k = 0;
}
}
return i;
}

台長: Morris
人氣(1,454) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: 各類演算法與示範題目 |
此分類下一篇:RMQ,zkw式線段樹
此分類上一篇:MD5 實作

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文