【CF666E】Forensic Examination(后缀自动机,线段树合并) 题面 洛谷 CF 翻译: 给定一个串\(S\)和若干个串\(T_i\) 每次询问\(S[pl..pr]\)在\(T_l..T_r\)中出现的最多次数,以及出现次数最多的那个串的编号。 题解 好题 ...
CF E Cool Slogans 后缀自动机 题面 洛谷 CodeForces 题解 构建后缀自动机,求出后缀树 现在有个比较明显的 dp 设 f i 表示从上而下到达当前点能够满足条件的最优值 只需要检查父亲节点是否在当前串中出现过两次就行了 这个判断用 endpos 来判断 如果出现过超过两次,那么在当前点所掌控的任意一个 endpos 以及前面的区间中 必定出现了超过两次 用一个线段树合 ...
2018-05-31 16:38 0 925 推荐指数:
【CF666E】Forensic Examination(后缀自动机,线段树合并) 题面 洛谷 CF 翻译: 给定一个串\(S\)和若干个串\(T_i\) 每次询问\(S[pl..pr]\)在\(T_l..T_r\)中出现的最多次数,以及出现次数最多的那个串的编号。 题解 好题 ...
【CF235C】Cyclical Quest(后缀自动机) 题面 洛谷 题解 大致翻译: 给定一个串 然后若干组询问 每次也给定一个串 这个串可以旋转(就是把最后一位丢到最前面这样子) 问这个串以及其旋转的串在给定的串中出现了多少次 显然,串可以旋转,那么考虑在后面再接一份就行了 匹配 ...
\(S="abaababaab"\) ...
后缀自动机也是解决字符串问题的常用工具,犀利在O(N)的空间复杂度下存在给定串的后缀以及子串,而且支持在线的操作。 POJ-1509 Glass Beads 题意:求一个字符串的最小表示的开始下标。 分析:其实有一个O(N)的算法专门来解决这个问题,并且实现非常简单,不过后缀自动机同样能够 ...
后缀自动机,是一种线性的字符串处理工具: 引用一下陈立杰的PPT 有限状态自动机的功能是识别字符串,令一个自动机A,若它能识别字符串S,就记为A(S)=True,否则A(S)=False。 自动机由五个部分组成,alpha:字符集,state:状态集合,init:初始状态,end:结束 ...
理解起来好困难啊QAQ WIKIOI3160 求两个串的最长公共子串 见CLJppt View Code BZOJ2555: SubString 正解是S ...
解决子串相关问题的强大工具 我们知道一个长度为 \(n\) 的字符串中所有的子串数目为 \(O(n^2)\) 个,这很大程度上限制了我们对某些子串相关问题的研究。所以有没有解决方案,使得我们可以在可承受的复杂度内表示出所有的子串? 于是,一种被称作 \(\text{DAWG}\) 的自动机 ...
首先看一个广义SAM的经典应用: BZOJ3277&BZOJ3473 给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串(包括本身)。 对于多串 ...