给定一组N个不相交的水平线段(平行于X轴),其间具有可变长度和可变垂直距离,我们需要放置与至少一个线段或单位盘相交的最小数量的单位盘这样就可以连接线段和磁盘的并集。是否有任何现有的算法或任何我可以用来解决这个问题的方法?
答案 0 :(得分:0)
正如@j_random_hacker所说,找到最佳解决方案可能是NP难的。但也许贪心算法会产生合理的近似值。
按照左端点对细分进行排序,然后按从左到右的顺序处理细分。在任何阶段,您都有一组连接的段和磁盘,位于当前尚未合并的段 s 的左侧。找到距 s 左端点最近的对象(段或磁盘)。假设此距离为 d 。然后通过一系列天花板(d / 2)磁盘连接 s ,实现最小距离 d 。 s 现已合并,您可以转到下一个细分市场。
人们可以轻松地创建表现不佳的示例,但通过启发式方法可以提供相当大的改进空间。