随笔分类 -  字符串—后缀自动机

摘要:神题啊... 首先我们考虑68分的暴力: 对于询问串的每个位置i,我们维护一个limi表示以i为终点向前至多能与模式串匹配多长,这一点可以在把询问串放在模式串的后缀自动机上跳跃得到 接下来考虑统计答案: 对于询问串同样建起一个后缀自动机,我们知道后缀自动机上的每个节点维护的位置是一 阅读全文
posted @ 2019-07-05 20:48 lleozhang 阅读(171) 评论(0) 推荐(0) 编辑
摘要:考察后缀自动机的性质:每个节点上维护的子串数量等于自己与父节点的len之差 据此,我们在建后缀自动机的时候,对于每个插入的节点加上他与父节点的len之差即可 什么?分裂出来的节点怎么办?无所谓!不累计! 因为假设我们有一个点p,其父亲为f,分裂出的节点为q,那么我们知道,进行这次 阅读全文
posted @ 2019-07-04 09:51 lleozhang 阅读(176) 评论(0) 推荐(0) 编辑
摘要:多有趣的一道题啊... 考场上的思路: 首先我们可以通过hash判断出每个B类串是几个A类串的前缀,从这个B类串向对应的A类串连边 然后我们直接按支配关系从A类串向B类串连边,相当于以B类串为中转构造了一张A类串的图,在这张图上跑一次最长路即可 这样做是40分(所以4 阅读全文
posted @ 2019-07-04 09:04 lleozhang 阅读(161) 评论(0) 推荐(0) 编辑
摘要:后缀自动机基本应用 对询问串建起后缀自动机,然后建起parent树,做一次子树统计就知道了每个节点代表的字符串出现次数 接下来我们只考虑出现次数等于k的那些点,对于任意一个点p我们知道他代表的子串长度是连续的,长度范围在[lenfa+1,lenp]之间,那么我们做个差分,最后 阅读全文
posted @ 2019-07-03 18:43 lleozhang 阅读(199) 评论(0) 推荐(0) 编辑
摘要:首先发现原来的理解好乱啊...这次换一种理解的方式吧... 设原串为一个长度为n的字符串T 我们考虑这个字符串的每一个子串S,用一个集合endposS代表ST中出现的所有右端点的集合 例:T="aaabc",S="aaab",则endposS={$4 阅读全文
posted @ 2019-07-03 18:39 lleozhang 阅读(170) 评论(0) 推荐(0) 编辑
摘要:我们分成两种情况来分析这个问题:t=0和t=1 t=1时,每一个子串出现的次数就是他在parent树上所在子树内前缀节点的个数,这一点我们已经说的很清楚了 利用SAM有向无环的性质,我们可以在parent树上统计完之后在后缀自动机上dfs,对每个点累计以他为开头的所有子串的总数 然后在查询的时候直接 阅读全文
posted @ 2019-04-25 14:18 lleozhang 阅读(134) 评论(0) 推荐(0) 编辑
摘要:上一篇我们具体介绍了后缀自动机的构造方式,但并没有谈它的应用,那么我们在这一篇里详细谈一谈后缀自动机的应用 首先,后缀自动机的性质:从根节点开始可以识别一个字符串的所有子串 接下来,我们需要给出一个定义: 将后缀自动机上的pre指针反指,会得到一棵树形结构,我们把这棵树叫做parent树! pare 阅读全文
posted @ 2019-04-20 10:22 lleozhang 阅读(339) 评论(0) 推荐(0) 编辑
摘要:学了一周后缀自动机,觉得...好难啊(主要还是自己太弱了...) 看见网上很多大佬的讲解,感觉总是有些似懂非懂,索性一起拿出来做一个总结,可能效果会好一些 首先,我们能看到这样一个定义: 后缀自动机是一个的确定性有限状态自动机,能接受这个字符串的所有后缀 然后就不知道了...... (不得不承认,对 阅读全文
posted @ 2019-04-20 09:23 lleozhang 阅读(176) 评论(0) 推荐(0) 编辑
摘要:十分之恶心的后缀自动机 (其实是水题,但是我太弱了...) 首先,有一个预备知识:bzoj 2780https://blog.csdn.net/lleozhang/article/details/89365183 现在我们假定你会了这道题 然后我们来讨论这个问题: 套路是一样的:仍然建起广义后缀自动 阅读全文
posted @ 2019-04-18 21:08 lleozhang 阅读(124) 评论(0) 推荐(0) 编辑
摘要:后缀自动机的应用 首先我们观察到:如果一个询问串的答案不为0,那么这个串一定是至少一个模式串的子串 如果只有一个模式串,那么这个问题可以简单地用什么东西解决掉(比如普通后缀自动机) 而这里有很多模式串,所以普通后缀自动机是不够的。 那么我们提出广义后缀自动机 所谓广义后缀自动机,可以简单理解成将很多 阅读全文
posted @ 2019-04-18 10:20 lleozhang 阅读(167) 评论(0) 推荐(0) 编辑

levels of contents
点击右上角即可分享
微信分享提示