让A
为2D
- 点集,|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-3
和a
来自A
整数平面,a.x <=1000
,a.y <= 1000
。
答案 0 :(得分:1)
您可以为distance(a,OX)
中的每个a
预先计算A
。
现在,我们假设A
按distance(a,OX)
排序。然后,给定(也是已排序的)子集A_k
,max_{a from A_k} distance(a,OX)
显然是最后一个元素的距离。现在我们需要找到最后一个元素最小的子集A_k
。显然,这是从第一个元素开始到第k
个元素结束的子集。因此,R
是k
中A
的最小距离值。这可以通过O(n)
中的QuickSelect找到。