最小距离k子集到x轴

时间:2015-10-28 04:44:19

标签: algorithm geometry computational-geometry

A2D - 点集,|A| = n

OX = {point: point.y = 0}(x轴)。

我需要找到R = min_{A_k from set of all k-subsets A} (max_{a from A_k} distance(a,OX))

k = const, 1 <= k <= n

感谢您的帮助!

P.S。我可以使用R的准确度1e-3a来自A整数平面,a.x <=1000a.y <= 1000

1 个答案:

答案 0 :(得分:1)

您可以为distance(a,OX)中的每个a预先计算A

现在,我们假设Adistance(a,OX)排序。然后,给定(也是已排序的)子集A_kmax_{a from A_k} distance(a,OX)显然是最后一个元素的距离。现在我们需要找到最后一个元素最小的子集A_k。显然,这是从第一个元素开始到第k个元素结束的子集。因此,RkA的最小距离值。这可以通过O(n)中的QuickSelect找到。