看到在线插入字符维护答案,显然回文自动机啊(
新插入字符时,考虑答案增量。
即在插入第 i 个字符时考虑 i∑j=1LCP(j,i)。
易知 LCP(x,y) 相当于 S1…x 的最长回文后缀和 S1…y 的最长回文后缀在 PAM 上对应的状态在 Fail 树上的 LCA 对应的字符串长度。
于是就是一个经典套路……只不过要动态加点,所以上 LCT 即可。
代码:
1 |
|
看到在线插入字符维护答案,显然回文自动机啊(
新插入字符时,考虑答案增量。
即在插入第 i 个字符时考虑 i∑j=1LCP(j,i)。
易知 LCP(x,y) 相当于 S1…x 的最长回文后缀和 S1…y 的最长回文后缀在 PAM 上对应的状态在 Fail 树上的 LCA 对应的字符串长度。
于是就是一个经典套路……只不过要动态加点,所以上 LCT 即可。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment