这是我问过的问题的n = 2个案例。
Minimum length of n-dimensional cubes to cover k points
让我们假设我们有k分
(a11, a12)
(a21, a22)
.
.
(ak1, ak2)
我们允许使用x个正方形来覆盖这些点
(如果这些点位于正方形上,就像它们位于正方形的侧面或顶点,或正方形内部,那么我们认为该点被正方形覆盖)。
如果k和x是固定的,并且所有正方形必须具有相同的边长,我们能否找出最小边长的宽度,以便它们覆盖所有点?正方形可以重叠,它们必须与坐标轴平行。
例如,设k = 5,x = 2,点为(2,0),(0,4),(2,2),(3,2),(0,8),然后正方形的最小边长应为4,正方形的顶点为(0,0),(0,4),(4,0),(4,4),顶点为(4,0),( 4,4),(8,4),(8,0)将覆盖所有点
我想知道是否有一个众所周知的算法或简单的方法,如果可能的话,将它推广到n维的情况。
答案 0 :(得分:0)
一般问题类似于minimum bounding problem,{{3}}找到"面向最小边界框,包含一组点"。如果这些点形成凸多边形,则已知最小面积包围矩形的O(n)"算法"。这可以适用于找到覆盖一组点的最小平方。
由于你正在处理 x 方块,你的问题会更加困难,但是由于方块与轴平行的要求,它简化了。您需要制定算法将点划分为 x 区域,以便每个区域都能够被相同大小的方块覆盖。让我们说X是4.在这种情况下,你会找到一条将x点分成2个相等区域的线和一条将y点分成2个相等区域并从那里调整的线。