专栏文章
题解:P14363 [CSP-S 2025] 谐音替换 / replace(暂无数据)
P14363题解参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @minfeqxg
- 此快照首次捕获于
- 2025/12/02 01:31 3 个月前
- 此快照最后确认于
- 2025/12/02 01:31 3 个月前
首先把每对串分成「LCP + ? + LCS」 的形式,注意判掉 和 。
我们想要对每个 的 ? 找有多少 满足:
- ? 完全相同。
- 的 LCP/LCS 分别是 的后缀/前缀。
第一条哈希排序一下就好了,时间复杂度 。
第二条有两种处理方法:
法一
可以把 都变成「LCP +
# + LCS」,然后就是 AC 自动机板子题了。注意普通 AC 自动机因为有算重的可能性,需要跳
fail 清标记,但这里不可能算重,所以只要预处理的时候加上对应 fail 的个数就好了。这部分时间复杂度线性。
法二
对 的 LCP 反串和 LCS 分别建 Trie, 要查询自己祖先公共多少对。考虑两棵 Trie 的 dfs 序构成的平面,一对 罩着两个子树对应一个矩形,查询 对应一个点,这样就是二维数点了。
这部分时间复杂度一只老哥。
代码(法一)等公示。
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...