寻找最佳区域覆盖的算法

标签 algorithm

我有几个随机分布在二维 map 上的点。我还想放置有限数量的圆圈,以便它们覆盖尽可能多的点,有点像将炮塔放置在基地中以保护有值(value)的建筑物的炮塔游戏 AI。有什么好的方法吗?

最佳答案

您所描述的听起来像是 maximum coverage problem 的一种形式.解决此问题的一种简单方法是应用 greedy algorithm .

这意味着您首先绘制第一个圆圈,使其覆盖尽可能大的区域。然后绘制第二个圆圈,使其覆盖尽可能大的区域,依此类推。

关于寻找最佳区域覆盖的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40629343/

相关文章:

c++ - STL 容器中的有序排序

algorithm - 根据均值差阈值对排序数组进行分组

algorithm - 证明 f(n) = Θ(g(n)) 当且仅当 g(n) = Θ(f(n))

ruby - 在 ruby​​ 中寻找可出租元素的理想利用

c++ - 如何消除挑战 'Sam and sub-strings' 中与模数相关的错误?

javascript - 类型错误 : The comparison function must be either a function or undefined

python - 将图划分为完整子图的算法

比较子集的集合直到排列

performance - 链表(也包括双重链表)的适当应用是什么?

算法 - 比较性能