Lyndon 分解
Lyndon 串
如果一个串的字典序不大于它的所有后缀,这样的串就称为 Lyndon 串。
Lyndon 分解
将字符串 sss 分解为 w1w2⋯wkw_1w_2\cdots w_kw1w2⋯wk,若满足 w1,w2,⋯ ,wkw_1,w_2,\cdots,w_kw1,w2,⋯,wk都是 Lyndon 串,且 w1≥w2≥⋯≥wkw_1\ge w_2\ge \cdots \ge w_kw1≥w2≥⋯≥wk,则称 w1w2⋯wkw_1w_2\cdots w_kw1w2⋯wk 是 sss 的 Lyndon 分解。
可以证明这样的分解若存在,则一定是唯一的。不妨设 w1w2⋯wkw_1w_2\cdots w_kw1w2⋯wk 和 v1v2⋯vsv_1v_2\cdots v_sv1v2⋯vs 均为 sss 的 Lyndon 分解,则存在 iii 满足 wk=vk(k<i)w_k=v_k(k<i)wk=vk(k<i) 且 wiw_iw

本文介绍了Lyndon串和Lyndon分解的概念,详细解析了Duval算法的思路、过程及代码实现,并探讨了其在求解最小表示法中的应用。通过算法分析,证明了分解的唯一性和算法的时间复杂度。
最低0.47元/天 解锁文章
433

被折叠的 条评论
为什么被折叠?



