专栏文章
题解:CF1246F Cursor Distance
CF1246F题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @min4qdwl
- 此快照首次捕获于
- 2025/12/01 20:32 3 个月前
- 此快照最后确认于
- 2025/12/01 20:32 3 个月前
直接做是困难的。
记 为上一个与下一个与 相同的位置。不存在则分别记为 和 。
钦定一个终点 ,考虑其他点跳到 的步数。
对于可以一步到达 的点。显然,其位于 中。
对于可以两步到达 的点。其可以一步走进 中,然后再一步到 。
所以可以两步到达 的点构成区间 。
更进一步的,如果 步可达 区间是 。则 步可达 的区间为 。
一开始让 ,然后每次 。
需要 步到达 的点会在 次扩展是被 包含。每次扩展完加上不被 包含的点数即可使其刚好加 次。即每跳一次贡献 。
当字符串为
aaaaaaaaaa 状物时,每次扩展只能扩 格,所以是 的。考虑优化。对于每种在 的同种字符,显然只有最靠左的对新的 有贡献,最靠右的对新的 有贡献。
对于相同的 ,只要区间 包含了某种字符,则这个字符最靠左位置固定。不难发现,如果 中的字符集大小不变,则 对 的扩展没有影响。右边同理。
只有 一边的情况就显然可以倍增了,跳到字符集变大的位置即可。然后在新的字符集大小重新倍增即可。
记 为字符集大小,复杂度为 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...