Lyndon Word 与 Lydon 分解】的更多相关文章

Lyndon Word 定义:对于字符串\(s\),若\(s\)的最小后缀为其本身,那么称\(s\)为Lyndon串 等价性:\(s\)为Lyndon串等价于\(s\)本身是其循环移位中最小的一个 性质 任意字符串\(s\)都可以分解为\(s = s_1 s_2 \dots s_k\),其中\(\forall s_i\)为Lyndon串且\(s_i \geqslant s_{i +1}\).且这种分解方法是唯一的 存在性 引理1:若\(u, v\)为Lyndon串,且\(u < v\),那么\(…
Lyndon Word 定义 对于字符串 \(S\),若 \(S\) 的最小后缀为其本身,那么称 \(S\) 为 \(\text{Lyndon}\) 串(\(\text{Lyndon Word}\)) 即 \[S \in L \Rightarrow \begin{cases} S是严格最小循环 \\ minsuf(s)=s \end{cases} \] 性质 \(Border(S)=\varnothing\) 推论 如果 \(u,v \in L, u \prec v\Rightarrow uv…
我们定义一个串是 \(\text{Lyndon}\) 串,当且仅当这个串的最小后缀就是这个串本身. 该命题等价于这个串是它的所有循环表示中字典序最小的. 引理 1:如果 \(u\) 和 \(v\) 都是 \(\text{Lyndon}\) 串并且 \(u<v\),则 \(uv\) 也是 \(\text{Lyndon}\) 串. 证明: 1.若 \(\operatorname{len}(u)\ge\operatorname{len}(v)\) 这时,\(u\) 和 \(v\) 这两个串在 \(\o…
浅谈从 Lyndon Words 到 Three Squares Lemma By zghtyarecrenj 本文包括:Lyndon Words & Significant Suffixes & Lyndon Array & Runs & Lyndon Tree & Three Squares Lemma. 禁止转载全文,转载部分需要注明出处. 前言 本文正在重写 如果你发现笔者有写错的地方,请联系笔者.(尽量不要用博客园评论,我不会经常看,建议用洛谷私信我或者加…
题面 题意:如果一个字符串的最小表示法是他自己,他就是一个Lyndon Word. 例如  aabcb 他的循环串有 abcba  bcbaa cbaab baabc 其中字典序最小的是他自己 现在给你n,m表示用前m个字符(从a开始),拼成长度不超过n的字符串中,输出字典序排列的的  l->r 的串 l<=r<=1e7   r-l<=1e5 题解:我们根据样例 n=4 m=3可以看出,一共32个:a, aaab, aaac, aab, aabb, aabc, aac, aacb,…
$lyndon\ word$(以下简写为Lw):对于一个字符串s,其为Lw当且仅当其的最小后缀为自身 性质:若$u<v$为LW,那么$uv$也为Lw(反证法即可证) $lyndon$分解:将一个字符串分为$s=s_{1}s_{2}...s_{k}$,满足$\forall 1\le i\le k$,有$s_{i}$为Lw:$\forall 1\le i<k$,有$s_{i}\ge s_{i+1}$ 性质:对于一个字符串,有且仅有1个$lyndon$分解 存在性:初始将令$s_{i}=s[i]$(…
\(\mathscr{Description}\)   Link.   给定字符串 \(S\),求 \(S\) 的每个前缀的最小表示法起始下标(若有多个,取最小的).   \(|S|\le3\times10^6\). \(\mathscr{Solution}\)   注意到一个显然的事实,对于某个前缀 \(S[:i]\) 以及两个起始下标 \(p,q\),若已有 \(S[p:i]<S[q:i]\),那么在所有的 \(j>i\) 中,都有 \(S[p:j]<S[q:j]\).换言之,最终…
Lyndon 分解 样例 样例输入 1 ababa 样例输出 1 2 4 5 样例输入 2 bbababaabaaabaaaab 样例输出 2 1 2 4 6 9 13 18 样例输入 3 azAZ0129 样例输出 3 2 4 8 数据范围与提示 \(1\le |s| \le 2^{20}\) OZY的题解 冷门东西,但是今天考到了,做个记录. 记号 \(s[l : r]\) 表示字符串\(s\) 从第\(l\) 个字符到第\(r\) 个字符的子串(从\(1\) 开始标号),\(|s|\) 表…
Minimum Index 题意 求字符串所有前缀的所有后缀表示中字典序最小的位置集合,最终转换为1112进制表示.比如aab,有三个前缀分别为a,aa,aab.其中a的后缀只有一个a,位置下标1:aa有两个后缀,字典序最小的是a,下标为2:aab有三个后缀,字典序最小的是aab,下标是1.答案为 \(1*(1112)^2+2*(1112)^1+1*(1112)^0\) 字符串长度1e6 分析 在求字符串的最小表示法中,有一个叫做Lyndon分解的求法,Lyndon分解可以使用Duval算法.详…
知识点简单总结--Lyndon分解 Lyndon串 定义:一个字符串的最小后缀就是整个串本身. 等效理解:这个串为其所有循环表示中最小的. Lyndon分解 定义:将字符串分割为 $ s_{1} s_{2} ... s_{k} $ 任意段使得每一段都是Lyndon串且 $ \forall i < j , s_{i} \ge s_{j} $ . 引理一:若 $ u < v $ 且 $ u , v $ 均为Lyndon串,则 $ uv $ 为Lyndon串. 关于证明,它咕了. 引理二:Lyndo…