我想知道应该使用什么策略来解决以下问题。
问题陈述
有两个煤矿,每个煤矿雇用一组矿工。我们的工作是把食品运到矿场。每当一批食物运抵他们的矿井时,矿工们就生产一定量的煤。食品运输有三种类型:肉类、鱼类和面包。
每次一批新货到达他们的矿场时,他们都会考虑新货和前两批货(如果没有那么多货的话,则更少),然后:
食品运输的种类和发送的顺序是事先知道的。
输入
你被给予了食品运输的类型,按照它们的发送顺序。
目标
目标是最大限度地提高煤炭产量。这是通过确定哪一批货物应该运往哪一批我的货物来完成的。这两个地雷不一定要收到相同数量的货物(事实上,允许将所有货物运至一个矿)。
示例
对于装运订单: MBMFFB,预期产量(最大可能的煤炭产量)为12。
发布于 2013-07-11 15:34:03
您使用的逻辑是错误的:
M -> Mine 1 = 1 coal unit(s)
B -> Mine 1 = 2 "
M -> Mine 2 = 1 "
F -> Mine 1 = 3 "
F -> Mine 2 = 2 "
B -> Mine 2 = 3 "
因为第一天,我的第一天只吃了一种食物。
我可以看到一个简单的动态规划算法,但我将留给您。
一个简单的提示:对于每一批货物,您可以将它发送给我的1或2;发送之后,重要的是:
因此,最多有(3 ^ 3) ^2= 729个装运配置,并为每一个最优数量的煤。在每个步骤中,计算这些配置,最后您将得到答案。
https://stackoverflow.com/questions/17597538
复制相似问题