【问题标题】:Minimum covering radius in n dimensions [closed]n维的最小覆盖半径[关闭]
【发布时间】:2016-11-01 16:52:03
【问题描述】:

有没有已知的算法可以解决这个问题?

【问题讨论】:

  • 当然,您可以使用某种算法。你想达到什么样的时间复杂度?
  • 这是要求一个算法,对损坏的代码没有帮助
  • 中心是否也是整数,或者它们可以是两半?

标签: algorithm axis geometry cover


【解决方案1】:

有一个可以用贪心算法解决的相关问题:给定点和半径,找出的最小数目。该算法重复放置一个圆,其左边缘位于最左侧未覆盖的点上,在按 x 排序的点上运行时间 O(n)。

要获得所请求问题的算法,请对点进行一次排序,然后使用二分搜索找到将导致最多 d 个圆的最小半径。假设 x 坐标可以用机器字表示,这应该没问题。 (如果没有,还有其他算法。)

【讨论】:

  • @Blender 他建议您对答案使用二进制搜索,我同意他的观点。与此类似的问题:linklink
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-17
  • 1970-01-01
  • 2013-06-25
  • 2010-11-19
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多