我们给了n米米米,我们希望做以下操作:
解决这个问题的贪婪方法是什么?
我已经尝试过标准的回溯问题,但这很慢。难道有贪婪的方法来解决这个问题吗?
另外我注意到n1xm1,n2xm2 ......产品的最高公因子应该是n,虽然我对此不太确定,但在我看来还不错。
示例:
n=20
m=40
n1=20 m1=12
n2=40 m2=10
n3=10 m3=6
n4=25 m4=4
<240>(240,400,60,100)的HCF是20.这表示问题可以解决,但我不知道我的贪婪方法的线索。
答案 0 :(得分:1)
一种贪婪的方法是在每次迭代中切割一根杆,从您可以支撑的最长杆的最大数量开始,在末端填充较短的杆。然后重复剩余的剩余杆的要求。这种情况的第一步是
Rod 1: 3 * 12m + 1 * 4m
recur with [19, 40], [(17, 12), (40, 10), (10, 6), (24, 4)]
对于杆2-6,你将有相同的切口,在杆7上需要12m的需要:
Rod 7: 2 * 12m + 1 * 10m + 1 * 6m
现在,你可能想要一个不同的“贪婪”定义。我建议的两个目前是等同的:
对于杆8,你将从10米切口(贪婪-1)或6米切口(贪婪-2)开始。
另请注意,您可以重复每个单独的杆,只做一次切割,然后重复剩余的长度。
你能从那里拿走吗?