【发布时间】:2015-12-15 14:21:59
【问题描述】:
我的问题是:我们在 2D 空间中有 N 个点,每个点都有一个正权重。给定一个由两个实数 a,b 和一个整数 k 组成的查询,找到一个大小为 a x b 且边平行于轴的矩形的位置,因此前 k 个点的权重之和,即 k 个最高的点矩形覆盖的权重是否最大化?
欢迎提出任何建议。
附: 有两个相关的问题,已经充分研究过:
- 最大区域总和:找到总权重总和最高的矩形。复杂度:NlogN。
- 正交范围的前 K 个查询:在给定矩形中查找前 k 个点。复杂度:O(log(N)^2+k)。
【问题讨论】:
-
如果我选择覆盖所有点的矩形怎么办?权重将最大化
-
@Nyavro:给定矩形的大小,即 a x b。所以你不能选择覆盖所有点的矩形。
-
任意旋转的矩形?还是平行于给定轴对的矩形?
-
@TomZych 矩形的边与轴平行。
-
这可能没有帮助,但在给定的限制条件下,我认为可以肯定地说,如果我们采用任何矩形(甚至是最佳矩形),我们可以移动它(不会丢失任何点内),使得每个垂直和水平边中的一个位于 1 个或多个点上。也许这可以以某种方式使用,例如扫描算法
标签: algorithm geometry computational-geometry