UVA10245 The Closest Pair Problem 题解

UVA10245

就是求 $n$ 个点的平面最近点对。

$n \le 10^4$ 加上多测的数据范围是不能用 $\mathcal{O}(n^2)$ 的时间复杂度卡过的。

这是一种很经典的问题,有 $\mathcal{O}(n\log n)$ 和 $\mathcal{O}(n)$ 的做法。在这里 $\mathcal{O}(n\log n)$ 的时间复杂度足以通过。

若不会 $\mathcal{O}(n\log n)$ 的分治做法,请先完成这道题这道题

在分治最后的合并中,很容易误以为是 $\mathcal{O}(n^2)$ 的,但可以证明合并的点数不会超过 $6$ 个。

假如合并前的最短距离是 $h$,那么最后统计答案时一定是在一个 $h\times 2h$ 的一个长方形中。

将这个长方形分为左右两个边长为 $h$ 的正方形,那么在一个正方形中,两两间的距离 $\ge h$ 的点最多有 $3$ 个,所以这个长方形中最多存在 $6$ 个点。

时间复杂度 $\mathcal{O}(n\log n)$。

评测记录

posted @ 2022-12-14 07:06  Pengzt  阅读(4)  评论(0编辑  收藏  举报  来源