随笔分类 - 字符串
摘要:定义 后缀数组 (Suffix Array) ,由两个数组 \(sa,rk\) 组成。 其中: \(sa_i\) 表示将字符串 \(s\) 的所有后缀按字典序排序后第 \(i\) 小的后缀的编号。 \(rk_i\) 表示后缀 \(s[i...n]\) 的排名。 显然有: \(sa[rk[i]]=rk
阅读全文
摘要:\(KMP\) 前缀函数 给定一个长度为 \(n\) 的字符串 \(s\) ,其前缀函数定义为一个长度为 \(n\) 的数组 \(\pi\) 。 其中 \(\pi[i]\) 的定义为: 如果子串 \(s[0...i]\) 有一对相等的真前缀 \(s[0...k-1]\) 与真后缀 \(s[i-k+1
阅读全文