https://www.lydsy.com/JudgeOnline/problem.php?id=2555 想一下sam求子串出现次数的方法基本就能得到正解。 由于子串出现次数是一个子树和的形式。 动态插入字符串又要求动态维护树的结构,显然要用LCT。 注意一下LCT维护子树和的写法即可。 cpp ...
分类:
其他好文 时间:
2019-02-07 09:30:03
阅读次数:
192
题目描述 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 题解 做法很自然,建出后缀自动机,维护每个节点的right集合,对于询问直接在sam上跑就好了。 然后它是在线的,得用LCT维护。 然后细节极多,首先必须维护 ...
分类:
其他好文 时间:
2018-12-31 21:15:31
阅读次数:
176
题目描述 题接: 没有任何意义的LCT+SAM。 没有题解 代码: ...
分类:
其他好文 时间:
2018-12-15 11:49:40
阅读次数:
130
题意:懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 题解:可以想到用sam很好维护某个字符串在当前字符串中出现了几次,插入也直接add就好了,但是我们不能每 ...
分类:
其他好文 时间:
2018-09-30 18:14:53
阅读次数:
127
2555: SubString Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 懒得写背景了,给你一个字符串init,要求你支持两个操 ...
分类:
其他好文 时间:
2018-05-03 19:55:54
阅读次数:
244
"bzoj" 题意 给你一个初始模板串,要求资瓷以下两个操作: 1、在模板串的末尾接上一个串; 2、查询一个串在模板串中出现了多少次。 强制在线。 sol 末尾添加直接$extend$。 查询一个串的出现次数就是查对应状态的$right$集合大小。 由于是动态的所以需要用$LCT$维护。相当于是在维 ...
分类:
其他好文 时间:
2018-04-23 22:44:51
阅读次数:
186
http://www.lydsy.com/JudgeOnline/problem.php?id=2555 后缀自动机,用LCT维护parent树 一个串的出现次数 = parent 树 上 其所在状态 的 子树 叶节点 | Right | 之和 若在parent中np的子节点中加一个节点p,设p的 ...
分类:
其他好文 时间:
2018-03-15 23:05:38
阅读次数:
373
考虑在extend($x$)的时候维护SAM中所有串出现的次数,存在每个节点上 在$S$的尾部加入一个字符$x$,只有($S$的后缀+$x$)这种串会多出现一次,所以extend完之后把$np$在parent树中的所有祖先答案$+1$ 在extend的过程中只有常数次切换$parent$,相应维护即 ...
分类:
其他好文 时间:
2018-03-07 21:54:05
阅读次数:
191
【BZOJ2555】SubString(后缀自动机,Link Cut Tree) 题面 "BZOJ" 题解 这题看起来不难 每次要求的就是$right/endpos$集合的大小 所以搞一个$LCT$维护一下$SAM$的$Parent$树就好了 但是代码一点都不好写(我还是对着黄学长的调的。。。) 于 ...
分类:
其他好文 时间:
2018-02-14 17:32:10
阅读次数:
205
Description 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 懒得写背景了,给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插 ...
分类:
其他好文 时间:
2017-10-06 13:53:24
阅读次数:
147