摘要:
本质不同子串数量等于所有点的len-parent树上父亲的len的和。可以直接维护。 阅读全文
摘要:
二分答案后相当于判断一个区间的后缀与某个后缀的最长公共前缀是否能>=ans。建出后缀树,在上述问题中后者所在节点向上倍增的跳至len>=ans的最高点,然后相当于查询子树中是否有该区间的节点。主席树进行二维数点即可。 阅读全文
摘要:
利用SAM建出后缀树,树上每个节点计算一下|right|、right集合中ai的最大、次大、最小、次小值即可。 阅读全文
摘要:
对第一个串建SAM,第二个串在上面跑,记录当前前缀匹配的最长后缀长度l,每次考虑当前前缀的贡献,对于当前所在节点显然是|right|*(l-len[fa]),而对于其parent树上所有祖先的贡献显然是|right|*(len-len[fa])。预处理一下就好了。 阅读全文