首页 > 其他分享 >《基本子串结构》阅读笔记

《基本子串结构》阅读笔记

时间:2023-02-05 12:23:04浏览次数:40  
标签:子串 定义 occ 扩展 笔记 ext 3.2 阅读 subseteq

(就是对一些严谨概念的形式化)

定义 3.1(扩展串):将子串 \(t\) 左右扩张到最长的 \(t'\) 使得 \(t\) 与 \(t'\) 的出现次数相同,称为扩展串 \(ext(t)\)。

引理 3.1:\(ext(t)\) 存在且唯一。

证明:设 \([l_1,r_1],[l_2,r_2]\) 是不同的最长扩展串,则 \([\min(l_1,l_2),\max(r_1,r_2)]\) 也是扩展串,矛盾。

推论 3.1:若 \(t=[l,r]\) 的扩展串为 \(t'=[l',r']\),那么 \(t\subseteq t_0 \subseteq t'\) 的 \(t_0\) 的扩展串也是 \(t'\)。
推论 3.2:\(ext(ext(t))=ext(t)\)。

定义 3.2(等价类):所有 \(ext(t)\) 相同的 \(t\) 形成一个等价类。

定义 3.3(代表元):\(t=ext(t)\) 的 \(t\) 称为该等价类的代表元,记做 \(rep(a)\)。

引理 3.2:每个等价类的代表元唯一。(显然)
引理 3.3:若 \(t_1\subseteq t_2\) 且 \(occ(t_1)=occ(t_2)\),则 \(ext(t_1)=ext(t_2)\)。

证明:\(t_1\subseteq t_2\subseteq ext(t_2)\),\(occ(t_1)=occ(t_2)=occ(ext(t_2))\),\(\nexists t'\supsetneq ext(t_2),occ(t')=occ(ext(t_2))\),故 \(ext(t_1)=ext(t_2)\)。

定义 3.4:定义 \(t\) 在 \(s\) 中第一次出现位置为 \(s[\mathrm{posl}(t),\mathrm{posr}(t)]\)。

标签:子串,定义,occ,扩展,笔记,ext,3.2,阅读,subseteq
From: https://www.cnblogs.com/Charlie-Vinnie/p/17093065.html

相关文章