线段树合并
Philosophiofantasia
这个作者很懒,什么都没留下…
展开
-
CodeForces 666E Forensic Examination(广义后缀自动机+线段树合并)
题目链接题解:首先对于所有较短串建广义后缀自动机,线段树合并即可得到每个点所带表串在每个串中的出现次数,将询问按照长串的r从小到大排序,每次r变化的时候先把1-r的最长匹配后缀所在的位置在parent树上跳出来,然后对于不同的长度在该位置到根的链上倍增跳祖先,把每个点应该在的位置处理出来之后就可以直接在线段树上查询了,方法就是各显神通,个人的方法不是很好代码写的不是很好看#include&l...原创 2019-02-20 22:25:05 · 231 阅读 · 0 评论 -
洛谷 P4770 [NOI2018]你的名字(后缀自动机+线段树合并)
题目链接emmm,这题其实也不是特别难,个人感觉比之前做过的两道线段树合并right的后缀自动机都要简单不少(另两道都至少长2k……首先考虑一下询问区间就是整串的情况我们先对长串S建SAM然后把询问串T在长串上跑匹配,假设1−Ti1-T_i1−Ti能匹配的长度为len,显然i−leni-leni−len个串不会在SSS中出现,我们把答案加上即可但是吧,你仔细一看题,发现他要统计的是串的...原创 2019-03-20 16:05:55 · 392 阅读 · 0 评论