摘要: "Link" 整个做法类似于 "Link" 。 阅读全文
posted @ 2020-03-13 22:48 Shiina_Mashiro 阅读(155) 评论(0) 推荐(0) 编辑
摘要: "Link" 先建出SAM并维护每个endpos集合中元素的最后出现位置$pos$。 那么对于一个点$p$,若$link_p$的endpos集合中有元素在$[pos_p len_p+len_{link_p},pos_p 1]$中出现,那么说明$link_p$中的元素必在$p$的元素中出现至少两次。 阅读全文
posted @ 2020-03-13 21:09 Shiina_Mashiro 阅读(95) 评论(0) 推荐(0) 编辑
摘要: "Link" 树上差分+线段树合并。 阅读全文
posted @ 2020-03-13 16:12 Shiina_Mashiro 阅读(141) 评论(0) 推荐(0) 编辑
摘要: "Link" 一个显然的做法是树剖+二分+Hash。 先树剖并预处理dfs序、从某个点到根的字符串以及它的反串的Hash值。 对于一个询问,我们把它拆成$O(\log n)$段重链。 利用dfs序我们可以快速地求重链上某个点的$k$级祖先,所以直接一段段重链做,每次二分一下就行了。 注意到如果有某一 阅读全文
posted @ 2020-03-13 08:32 Shiina_Mashiro 阅读(152) 评论(0) 推荐(0) 编辑