E. 【拓展题】平面最近点对

    传统题 1000ms 256MiB

【拓展题】平面最近点对

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Background

  最近点对问题是计算几何中的经典难题:在平面上给定 nn 个点,要求找出距离最近的一对点。朴素算法需要检查所有点对,时间复杂度为 O(n2)O(n^2);而分治算法能够将复杂度降低到 O(nlogn)O(n \log n),充分体现了“分解—递归—合并”范式在提升算法效率方面的威力。

  通过本题,学生将掌握如何在几何问题中运用分治策略,理解带状区域剪枝的核心思想,并体会在算法设计中维护辅助数据结构以及避免精度误差和溢出的重要性。

Description

  给定 nn 个二维点 (xi,yi)(x_i, y_i),请找出任意两点间的最小欧氏距离。为避免浮点误差,建议输出距离的平方值。

输入格式

  第一行包含一个整数 nn2n2×1052 \leq n \leq 2 \times 10^5)。

  接下来 nn 行,每行包含两个整数 xi,yix_i, y_ixi,yi109|x_i|, |y_i| \leq 10^9)。

输出格式

  输出最近点对的距离平方,使用 64 位整数表示。

样例 #1

样例输入 #1

5
0 0
1 1
2 2
5 1
3 3

样例输出 #1

2

  最近点对为 (0,0)(0, 0)(1,1)(1, 1),距离平方为 12+12=21^2 + 1^2 = 2

实验二 树与分治策略

未认领
状态
已结束
题目
6
开始时间
2025-9-26 19:00
截止时间
2025-10-5 19:00
可延期
120 小时