Loading

狐狸

https://xinyoudui.com/ac/contest/74500D282000A6307D6541/problem/43710

T1 改 \(O(n)\) 改了 114514 年,没有注意到这道简单题。

首先显然有一个基于哈希的暴力做法,赛场上我花 eps 分钟打了个这个,不难发现和 std 没有任何关系。

考虑建出 ACAM,那么每次拿一个串在上面跑,就是将跑到的点打个标记,然后在 fail 树上求一个子树和即可。

显然这玩意打标记对吧,总和还是 \(O(len)\) 的,对于标记点建出虚树,对于每条边贡献一样,加入桶里最后二分一下即可。

posted @ 2026-01-22 17:10  Alexande  阅读(3)  评论(0)    收藏  举报