\(\\\) 定义 介绍一些写法和数组的含义,首先要知道 字典序 。 \(len\):字符串长度 \(s\):字符串数组,我们的字符串存储在 \(s[0]...s[len-1]\) 中。 \(suffix(i) ,i\in[0,len-1]\): 表示子串 \(s ...
写在前面 学了 , 遍,学一次忘一次 所以还是整理一下吧 定义 一个rk数组 一个sa数组 rk i 表示第i个后缀的排名 sa i 表示排名为i的后缀的初始位置的下标 Code ...
2021-01-27 21:34 12 109 推荐指数:
\(\\\) 定义 介绍一些写法和数组的含义,首先要知道 字典序 。 \(len\):字符串长度 \(s\):字符串数组,我们的字符串存储在 \(s[0]...s[len-1]\) 中。 \(suffix(i) ,i\in[0,len-1]\): 表示子串 \(s ...
写在前面 这篇文章写得比较烂,寒假期间在家里只是简单记了一记,因此之后可能会重构——2020.08.05 可能考完 NOIP 之后成绩还行的话会重构…… ——2020.11.05 考得不行,不改了………… 感谢B站bewildRan老师的讲解! 感谢OI-Wiki的后缀数组讲解 ...
一开始看“小罗”写的论文和模板真的云里雾里,理解起来十分困难,后来结合一个百度贴吧里面的学习笔记总算是把倍增算法的代码的意思搞懂了,于是后面自己也写了一份对“小罗”倍增算法代码的注释,希望能对各位正在学习后缀数组的同僚带来一点帮助。 另附上百度贴吧那篇文章的链接:http ...
定义 后缀平衡树,就是动态的维护后缀数组,可以 \(O(\log n)\) 在末尾插入字符,\(O(\log n)\) 查询 \(rank,SA\)。但是由于是维护的后缀信息,所以插入只能在末尾插入字符(然后转化成在开头加一个字符),相当于添加一个后缀。 在线构造 方法一: 我们需要一种 ...
目录 〇、关于后缀自动鸡的一些牢骚废话和引入 壹、一些新概念英语 一、终止节点等价类($\text{endpos}/\text{right}$ 等价类) 二、自动鸡 贰、终止节点集合与类的亿些特性及证明 一、同类即后缀 ...
后缀平衡树简介 后缀平衡树是一种动态维护后缀排序的数据结构。 具体而言,它支持在串\(S\)的开头添加/删除一个字符。 前置知识-重量平衡树 重量平衡树保证操作影响的最大子树大小是最坏的或均摊的或期望的\(O(logn)\)。 不采用旋转机制的重量平衡树-替罪羊树 替罪羊树依赖于一种暴力 ...
目录 定义 SAM 的状态集 一些性质 SAM 的后缀链接 SAM 的转移函数 一些性质 算法构造 构造方法 时间复杂度证明 ...
定义 一个字符串S对应的后缀自动机(SAM)是一个最小的确定有限状态自动机(DFA),接受且只接受S的后缀。可以理解为能够在SAM上找到该串的所有子串,且使得SAM状态数最少。 状态 $endpos$集 对于S的一个子串s',endpos(s') 为S中所有s'的结束位置集合。以S ...