随笔分类 -  图论-树上操作

摘要:题目 点这里看题目。 分析 先对所有的模式串建立广义后缀自动机。 我们需要求出每个节点的$end-pos$集合,这个可以在 \(fail\) 树上用线段树合并快速预处理。 考虑询问。由于字符串的子串就是前缀的后缀,因此我们可以对于每个前缀,处理出它在自动机上的$LCS$对应的节点。那么一个子串在自动 阅读全文
posted @ 2020-05-29 13:31 crashed 阅读(168) 评论(0) 推荐(0) 编辑
摘要:题目 "点这里" 看题目。 分析 首先,我们不需要真的从 AC 自动机中把串删掉。由于我们计算贡献和,我们只需要在 AC 自动机上,把已经删除的串的贡献抹掉就可以了。 接着考虑询问。这是一个很基础的问题,一般我们会在 AC 自动机上面处理出每个状态的贡献和,并且将询问的字符串在 AC 自动机上面跑一 阅读全文
posted @ 2020-05-19 14:02 crashed 阅读(119) 评论(0) 推荐(0) 编辑
摘要:题目 "点这里" 看题目。 分析 首先发现,对于$(a,b,c)$的合法三元组,$c$一定在$a$的子树内,并且$b$也是$c$的祖先。那么我们只需要考虑$b$的位置。如果$b$是$a$的子孙,那么$c$一定就是$b$的子孙,此时的贡献是$siz(b) 1$(我们以下都用$siz(u)$表示$u$的 阅读全文
posted @ 2020-05-14 13:57 crashed 阅读(120) 评论(0) 推荐(0) 编辑