【发布时间】:2014-10-19 15:42:38
【问题描述】:
我正在尝试找到一个多项式算法来至少近似地解决以下问题(我不确定该问题是否可能是 NP-hard):
给定实线上的一组开区间,应该将它们“扩展”到第二维,创建一组矩形,并将它们打包成一个高度为 1 的条带,即 R x [0 ,1].
解决方案应尽量避免高度小的矩形——在形式上,矩形高度的升序排序向量在词法比较方面应该是最大的。
给定问题的示例解决方案 (0, 3) 红色, (1, 5) 绿色, (3, 7) 紫色, (4, 6) 蓝色:
另一个稍微复杂一点的例子: (0, 1), (0, 6), (1, 2), (1, 8), (3, 9), (4, 5), (7, 8), (8, 9)
第二个解决方案实际上不是最优的:如果交换灰色和青色,蓝色可以增长到 2/4 高度,代价是紫色缩小到 2/4 高度 - 一个更好的解决方案。
【问题讨论】:
-
一个点可以属于多少个区间?
-
任何有限数——它甚至可以是同一区间的 n 个副本(尽管这很容易)。
标签: algorithm computational-geometry