Lyndon分解学习笔记

若如初见. 提交于 2020-10-04 22:27:47

1.一些定义

Lyndon Word:对于任意字符串 \(s\) 如果对任意后缀 \(S\),有$ S>s$,那么称 \(s\)Lyndon Word

举个例子:\(\texttt{abcdefg}\) 是 Lyndon Word,而 \(\texttt{gfedcba}\) 不是。

定义 \(\mathbb L\) 表示 Lyndon Word 构成的集合。

Lyndon 分解:对于任意字符串 \(s\),如果存在一组字符串 \(w_1,w_2,\cdots,w_k\),满足:

  1. \(w_1w_2\cdots w_k=s\)
  2. \(\forall i,w_i\) 是 Lyndon Word;
  3. \(w_1\ge w_2\ge w_3\cdots w_k\)

则称 \(\{w_i|1\le i\le k\}\)\(s\)Lyndon 分解,并记 \(\text{CFL}(s)=\{w_i|1\le i\le k\}\)

2.一些性质

(以下定理证明可以康zght's blog

  1. \(a,b\in \mathbb L\) ,且 \(a<b\) ,则 \(ab\in \mathbb L\)
  2. Lyndon 分解存在且唯一。
  3. \(w_1\) 是最长的 Lyndon 前缀, \(w_k\) 是最长的 Lyndon 后缀。
  4. \(s\) 的最小后缀是 \(w_k\)

3. Duval's Algorithm

下记 \((s)^k\) 表示 \(s\) 重复 \(k\) 次的结果,例如 \((\texttt{ab})^5=\texttt{ababababab}\)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!