【发布时间】:2014-04-28 11:24:33
【问题描述】:
您受雇于一家拥有 N 名员工的小公司的董事,负责在员工之间建立网络,这些员工必须将每周报告作为不同的部分发送给其他每个员工,或者他们的报告对每个员工都很重要,根据他们工作的重要性,他们必须每周发送报告 Ki 次数
您测量了每 2 名员工之间传递消息所需的时间 由于预算削减,网络在他们的员工之间将只有 N-1 个连接,并且由于您使用的技术很简单,当发送一条消息时,整个网络都必须等待它被传递(一次只有 1 条消息)
你得到的是 N - 雇员的数量,你得到 Ki 是工人 i 每周发送报告的次数,Tij 表示消息从雇员 i 传送到雇员 j 的时间 1
0
0
Tij = Tji, Tii = 0
起初我假设最佳网络是星形(树),只需要确定哪个节点位于中心,由于我们的 N 最多为 13,我决定只用蛮力它并尝试所有这些,但该尝试失败了,因为显然这不是最佳的网络配置(或者测试用例向我展示了) 然后我想也许可以通过找到一个最小生成树或每个员工制作的完整图来解决这个问题,但是由于有多个最小生成树,并不是所有的最小生成树都同样适用于这个在纸上已经失败的问题
我目前有点没有想法,所以关于我应该往哪个方向寻找的提示会很棒
【问题讨论】:
-
你可以在节点的子集上使用 DP,如果没有别的。设 f(S) 是连接集合 S 中节点的最优方式。它是通过将一个节点添加到一个较小的最优集合来构造的,因此我们有最优子结构
标签: algorithm tree graph-theory graph-algorithm