Recursion 为什么我不能在换硬币时重复使用同一枚硬币?

Recursion 为什么我不能在换硬币时重复使用同一枚硬币?,recursion,tree,dynamic-programming,coin-change,Recursion,Tree,Dynamic Programming,Coin Change,例如: 给定20美元,我想计算用硬币兑换20美元的方法={5美元,10美元,15美元} 硬币的顺序无关紧要 解决方案是:总方式数=使用硬币+不使用硬币: 总数=计数(S,m-1,n)+计数(S,m,n-S[m-1]) 以树的形式: 解决方案是:总方式数=使用硬币+不使用硬币 :总数=计数(S,m-1,n)+计数(S,m,n-S[m-1]) 我想你对解决方案的陈述有点误解了 它确切地说是: 1) Optimal Substructure To count total number soluti

例如:

给定20美元,我想计算用硬币兑换20美元的方法={5美元,10美元,15美元} 硬币的顺序无关紧要

解决方案是:总方式数=使用硬币+不使用硬币: 总数=计数(S,m-1,n)+计数(S,m,n-S[m-1])

以树的形式:

解决方案是:总方式数=使用硬币+不使用硬币 :总数=计数(S,m-1,n)+计数(S,m,n-S[m-1])

我想你对解决方案的陈述有点误解了

它确切地说是:

1) Optimal Substructure
To count total number solutions, we can divide all set solutions in two sets.
1) Solutions that do not contain mth coin (or Sm).
2) Solutions that contain at least one Sm.
这是一种将问题细分为同一问题的两个较小版本的方法

在不使用硬币的情况下可以实现的方法的数量与目标总数相同且硬币数量较少的问题相同

但是,至少有一种硬币可以实现的方法的数量是相同的问题,目标总数减少了硬币的大小,但是使用了相同的允许硬币集


在第二套硬币中,同样的硬币确实可以再次使用。

如果我能给你+100-我会…现在我明白了-“但是使用同样的允许硬币”。。。你解释得太好了!谢谢