【发布时间】:2012-02-04 10:36:21
【问题描述】:
我的课本中有这个问题: 给定一组 n 个项目,每个项目都有一个不同的值 V(i),将项目分成 3 组以使具有最高值的组最小化的最佳方法是什么?给出这个最大组的值。
我知道如何解决这个问题的 2 堆变体:它只需要在问题上反向运行背包算法。但是,我很困惑如何解决这个问题。谁能给我指点?
答案:和 0-1 背包差不多,虽然是 2D 的
【问题讨论】:
-
既然来了又消失了,下面是贪心失败的例子{100, 51, 49, 40, 30, 20, 10}。最佳答案是完美分割,而不是贪婪地将最大的未分配元素应用于最小的组。
-
我有同样的教科书。布赖恩·迪恩(Brian Dean)给了我;)
标签: algorithm dynamic-programming