在使用以下贪婪算法的变更问题中,解决了以下问题:如何用最少数量的硬币来赚取给定金额?
算法:如果可能的话,使用最有价值的硬币。假设我们每个硬币的数量都是无限的。
我的教授写道,(4)不是产生最优解,有人可以说为什么? (或者为什么其他不是反例?)1- {1,2,5}
2- {1,4,7}
3-{1,5,10}
4-{1,7,10}
答案 0 :(得分:3)
在需要代表14的情况下,使用来自第4组硬币的贪婪策略不会产生最佳结果:
很容易看出,如果存在硬币C
,如果您使用任何较高面额的硬币,则价值k*C
可以由至少k+1
硬币组成那么贪心算法就不会成功。
在上一组C=7
,k=2
,kC=14
中。如果您使用10
制作14
,则需要五个硬币,大于k
。