专栏文章
题解:AT_arc151_e [ARC151E] Keep Being Substring
AT_arc151_e题解参与者 5已保存评论 7
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mimzp1lq
- 此快照首次捕获于
- 2025/12/01 18:11 3 个月前
- 此快照最后确认于
- 2025/12/01 18:11 3 个月前
首先你贪心的去考虑肯定是把 消成 与 的最长公共子串,然后在加成 。
然后最长公共子串可以直接二分答案加哈希做到 ,当然也可以 SAM 做到 ,注意给所有点的哈希值映射为一个随机值不然会被卡。
但是这个题有个很神秘的限制就是你不能把 消空,所以考虑 和 最长公共子串为空的情况。
这时 的所有字符最后都不会留下来,而留下一个字符向外扩展显然比留下 的一个子串向外扩展容易。因此最优的方案一定是先把 删到只剩一个字符,再把这个字符移动到一个 中有的字符,然后扩展到 。
于是可以把 与 之间连边,以所有 中的字符为起点,所有 中的字符为中点,求出最短路即可。
时间复杂度 。
相关推荐
评论
共 7 条评论,欢迎与作者交流。
正在加载评论...