P1368 工藝 模板 最小表示法

2021-10-06 04:24:52 字數 684 閱讀 4157

解析:

最小表示法實現方法:

1.利用兩個指標,i指標指向s[0],j指標指向s[1] 任何時刻i和j都不能相等

2.匹配長度k=0開始 判斷s[i+k]是否等於s[j+k] 相等k++,直到不同的字元

在匹配過程中 s[i+k]和s[j+k]由三種匹配關係

第一種:s[i+k]>s[j+k] i跳轉到i+k+1

第二種:s[i+k]如果k==n 取起點最小的min(i,j);即可

#include

.h>

using namespace std;

const int n

=6e5

+1000

;int a[n]

,n;void

slove()

else

} k=

min(i,j)

;for

(int i=

0;i) cout<

}int main()

最小表示法 工藝

description 小敏和小燕是一對好朋友。他們正在玩一種神奇的遊戲,叫minecraft。他們現在要做乙個由方塊構成的長條工藝品。但是方塊現在是亂的,而且由於機器的要求,他們只能做到把這個工藝品最左邊的方塊放到最右邊。他們想,在僅這乙個操作下,最漂亮的工藝品能多漂亮。兩個工藝品美觀的比較方法是...

2882 工藝(最小表示法)

time limit 10 sec memory limit 128 mb 小敏和小燕是一對好朋友。他們正在玩一種神奇的遊戲,叫minecraft。他們現在要做乙個由方塊構成的長條工藝品。但是方塊現在是亂的,而且由於機器的要求,他們只能做到把這個工藝品最左邊的方塊放到最右邊。他們想,在僅這乙個操作下...

工藝(最小 大表示法)

題意 給定長度為n nn的序列,求字典序最小的長度為n nn且與原序列迴圈同構的序列 思路 利用最小表示法 也有字尾自動機以及字尾陣列的解法 暴力的比較所有的n nn個迴圈同構的串 純暴力會被卡到o n 2 o n 2 o n2 因此需要加點優化,如下 include bits stdc h def...