首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最少仓库数

最少仓库数
EN

Stack Overflow用户
提问于 2014-06-22 13:01:37
回答 1查看 719关注 0票数 1

给定V个顶点(城镇)和E边(城镇之间的路线)。一家公司决定建造仓库,以确保任何X镇都会有一个仓库,要么位于X,要么位于邻近的X镇。

如何找到公司必须建造的最小数量的仓库。

示例:设V=10和E=7,边缘对为:

代码语言:javascript
复制
1 2
2 4
2 5
3 6
8 6
9 7
10 7

这里的答案将是3,因为它足以在2,6,9镇建造仓库。

我的方法:

我首先计算每个城市的程度,然后在城市中放置一个最大程度的仓库。然后,我标记所有邻近城市的访问,然后转移到下一个未访问的最大节点,并放置一个仓库他们的。我是这样做的,直到没有人来看我。我的方法正确吗?请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-22 14:02:05

您所需要做的就是形成一个图形,其中:

  • 顶点是城镇
  • 两个顶点之间存在边当且仅当相应城镇之间有一条直接路线。

然后为这个图找到minimal dominating set。您应该在每个城镇建立一个仓库,对应于最小支配集中的顶点。

不幸的是,支配集问题是NP-完全的,所以很难找到精确的最小值,但是你的贪婪算法应该给出一个很好的近似。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24351485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档