¶概念
Lyndon串:s是s所有后缀中字典序最小的(s是其所有循坏位移中最小的一个)Lyndon分解:Lyndon 分解是将字符串 s 分解成 $s=s_1s_2 \dots s_n$,使得每个$s_i$都是Lyndon串,且$s_i\geq s_{i+1}$
¶性质
Lyndon分解唯一,且每个字符串都存在Lyndon分解。
¶Duval 算法
$O(n)$
1 | for(int i=1; i<=n; ) |
最小表示法只要对s+s进行Lyndon分解并找到最后一个分解的串的起点取长度n即可