专栏文章
题解:P9062 [Ynoi2002] Adaptive Hsearch&Lsearch
P9062题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqqnv4w
- 此快照首次捕获于
- 2025/12/04 09:09 3 个月前
- 此快照最后确认于
- 2025/12/04 09:09 3 个月前
看不懂题解,所以我要乱搞。
考虑沿用划分 的网格的思路。
不妨钦定 。
对于每个 我们只求出距离 的点对。
现在我们考虑支配点对怎么搞,不妨只考虑 的所有支配点对 ,记 为点 的距离。
支配点对有一个性质就是:若 , 均是支配点对,那么 。
那么我们不妨考虑扫描线,枚举 。把 周围的 网格的所有点拉出来算答案(需要保证编号 的点未加入哈希表),但是这样复杂度爆炸。
接下来是一个重要剪枝:维护一个指针 表示当前枚举过的 满足 的最大的 (注意 需要在 周围的 网格里),然后在枚举相邻矩阵算答案的时候从大到小枚举 ,如果 ,就拿去更新 ,否则查看是否被偏序,如果没被偏序就加入支配点对里。
如果在枚举 时 或 ,那么可以 break 掉了,因为当前枚举的点对是 内的,所以更小的 满足距离 的都被偏序了。
能证到枚举支配点对的过程上界最多是 的,不带 是因为:
对于一次 的划分,因为有上面的剪枝,一个 能枚举到的实际上是距离 的点对,那么一个点对最多只能同时在三种边长不同的网格查询里。
可能枚举次数可以证到 ,但是我不会。
这种方法跑出来的支配点对可以直接用树状数组维护,甚至比分块维护快。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...