SAM
文章平均质量分 86
后缀自动机
snowy2002
一个来自985的ACMer
展开
-
P6292 区间本质不同子串个数(SAM+LCT+线段树)
现在我们需要考虑重复字符串的问题,我们只需要计算所有重复出现的子串最后一次出现的位置即可,而对于一个等价类中的所有字符串,也就是后缀树上一个结点能够表示的所有字符串,我们可以同时处理他们的最后一次出现的结束位置。也就是说,在每插入一个点往根跳的过程中,只需要减去这条实链对答案的贡献并且在实链的。在加入一个新的右端点的时候,我们可以把这条链上原有的贡献减去,再加上新的贡献。如果不考虑重复的字符串,每加入一个右端点,对答案的贡献就是。值相同的结点一定在一条连续的链上,也就。行,每行一个整数,表示第。原创 2022-08-25 14:58:00 · 328 阅读 · 0 评论 -
P5212 SubString(SAM+LCT)
上连接两个点即可,而对于两个点的情况,天上的结点需要继承儿子的权值,地上的结点直接连边就可,这样就可以动态维护后缀树了,对于每次插入的地上的结点,我们还需要把这个点到根上的路径。如果不要求强制在线的话,把询问离线下来按照右端点排序,把插入字符串的过程改成删除字符串的过程,对于删除一个字符,就可以把这个字符对应的后缀树上的结点到根的链的。中插入结点的时候有两种情况,一种是在后缀树上插入一个点,一种是插入两个点,对于一个点的情况,我们只需要在。操作,输出询问的字符串在当前字符串中出现了几次。原创 2022-08-25 10:44:56 · 360 阅读 · 0 评论 -
P4770 [NOI2018] 你的名字(SAM+主席树)
实力强大的小 A 被选为了 ION2018 的出题人,现在他需要解决题目的命名问题。小 A 被选为了 ION2018 的出题人,他精心准备了一道质量十分高的题目,且已经把除了题目命名以外的工作都做好了。由于 ION 已经举办了很多届,所以在题目命名上也是有规定的,ION 命题手册规定:每年由命题委员会规定一个小写字母字符串,我们称之为那一年的命名串,要求每道题的名字必须是那一年的命名串的一个非空连续子串,且不能和前一年的任何一道题目的名字相同。由于一些特殊的原因,小 A 不知道 ION2017 每道题的名字原创 2022-08-07 17:20:08 · 332 阅读 · 1 评论 -
bzoj1396. 识别子串(SAM+线段树)
题目大意:给定一个字符串,求包含第i个字母且出现次数唯一的串的最小长度。可以先考虑以每个字母为结尾且出现次数唯一的串会怎么分布。的字母都可以被这个等价类中最短的串覆盖,也就是长度为。的串覆盖,这个贡献可以用线段树标记永久化来维护。树的性质可以看出,这个串的长度区间一定为。越小答案一定最优,所以只需要考虑最近的。即可,这个贡献可以通过双指针来完成。...原创 2022-08-03 21:50:43 · 170 阅读 · 0 评论 -
P4022 [CTSC2012]熟悉的文章(二分+SAM+单调队列优化dp)
题目链接阿米巴是小强的好朋友。在小强眼中,阿米巴是一个作文成绩很高的文艺青年。为了获取考试作文的真谛,小强向阿米巴求教。阿米巴给小强展示了几篇作文,小强觉得这些文章怎么看怎么觉得熟悉,仿佛是某些范文拼拼凑凑而成的。小强不禁向阿米巴投去了疑惑的眼光,却发现阿米巴露出了一个狡黠的微笑。为了有说服力地向阿米巴展示阿米巴的作文是多么让人觉得“眼熟”,小强想出了一个评定作文 “熟悉程度”的量化指标:L0L_0L0 .小强首先将作文转化成一个 010101 串。之后,小强搜集了各路名家的文章,同样分别转化成 0101原创 2022-08-03 18:23:04 · 128 阅读 · 0 评论