洛谷 P14420 [JOISC 2014] 历史的研究 / Historical Research 题解
同 AT_joisc2014_c 歴史の研究 | 更差的阅读体验
阅读之前请确保你知道基本的莫队相关知识。
可以离线的区间查询问题,我们考虑莫队。
记录区间内事件数量。当区间伸长时,直接更新即可。
但是,我们无法快速处理区间缩短时的情况。
这时,需要用到回滚莫队。
将序列进行分块。
若一个询问的 与 在同一个块内,暴力扫描;如果这次询问 所属的块与上次 所属的块不一样,那将莫队当前的 重置到现在 所属块的右端点, 重置到右端点减一;若以上两种情况都不满足,直接伸长区间回答询问,回答完后回滚莫队区间左端点到询问 所属块的右端点。
设块长为 ,暴力扫描复杂度是 。
对于其他情况,右端点移动是 的,左端点移动则是 的。
在 时复杂度最优,为
- 标题: 洛谷 P14420 [JOISC 2014] 历史的研究 / Historical Research 题解
- 作者: Gavin
- 创建于 : 2025-11-05 16:04:00
- 更新于 : 2025-11-05 16:04:00
- 链接: https://gavin-blog.pages.dev/2025/洛谷-p14420-joisc-2014-历史的研究-historical-research-题解/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。