【发布时间】:2016-12-29 23:49:30
【问题描述】:
问题如下:
您有 n 个以 km 为单位的行程长度,应将其划分为 m 天,以使每天的最大行程总和最小化。例如。行程长度 [1,5,2,6,8,3,2] 分为 3 天,结果为 [1,5,2] [6] [8,3,2],因为日长总和的最大值为我们能达到的最低点。
是否有一种算法可以描述处理此类问题的方法?我遇到了垃圾箱包装和背包问题,但没有一个能解决我的问题。我可以想象这可能是对垃圾箱包装的一些修改,但不要得出结论。
【问题讨论】:
-
It 动态规划问题,可以在
O(n * m)解决 -
这是大学作业还是其他问卷中的问题?
-
好吧,这个问题没有很好的定义......例如,一个更好的解决方案,然后提出的一个是:
[1,5,2,6,8,3,2], [], [],其中最短日长为 0,优于 6。无论如何,在一个简单的解决方案中,您可以只使用 binpacking 并对卷参数使用二进制搜索。 -
@Bakuriu 我认为他希望将
m值中的最大值最小化。 -
对不起,我忘了一句话。我需要最小化每天的最大长度总和。
标签: algorithm knapsack-problem bin-packing