K-包围最小面积平方

时间:2015-03-10 16:37:11

标签: algorithm geometry computational-geometry

在接受采访时被问到。 我们在2-D平面x[0],y[0].......x[n-1],y[n-1]和整数K上给出N个点。

我们需要找到最小面积Square,其整数坐标为顶点,边平行于坐标轴。封闭给定N点的至少K点,没有任何点位于正方形的边界上,即所有K点应该严格地在正方形内。

我想到了经典的最小包围矩形问题,但不能得出至少K个点的情况。怎么解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:-1)

由于最小正方形的边长由上限/最大x / y坐标之间的上限限定,我们可以在边长上使用二分搜索。 因此我们只需要考虑决策问题:对于给定长度L,测试是否存在边长L至少包含K点的正方形。

该决策问题等于将n个正方形以边长L为中心位于每个点并确定最大重叠数(框的排列深度)。通过使用平面扫描技术,可以在O(n lg n)时间内解决决策问题,因此优化问题可以在O(n lg n lg U)中求解,其中U是边长的上限。