摘要:
输入货币种类数v,金额n,和v个币值,求组成金额n的货币搭配种类数。关键是用opt状态数组来储存种类数,其他和01背包一样。这次的状态转移方程是我自己写出来的,比较有成就感!另外注意钱币数量无限制,所以第二层循环要用顺推而非倒推。阶段:用来组合的币值的种类数状态:当前金额的组合种类数状态转移方程:opt[j] += opt[j-w[i]] w[i]为币值。状态转移方程推导经验小结: opt[j] += opt[j-w[i]]是怎么来的? opt[j-w[i]]是去掉一个钱币的金额的组合数,因为只是多了一个币,所以用j-w[i]组成j的组合数就是opt[j-w[i]],于是就有opt[j] += 阅读全文
浙公网安备 33010602011771号