uva674专题

uva674(完全背包)

题意: 有5种硬币1,5,10,25,50,;现在随意的给出一个价钱,问你有几种组合方式! 输入11 输出4 1+...+1(10个),5+(6*1),5+5+1,  10+1(共4种) 思路; 满足完全背包思想,状态转移方程:dp[i+num[k]] += dp[i](dp[i]为组合成i的不重复种数,num[k]分别为1,5,10,25,50)不能合在一起转移,否则会导致重复!

uva674 - Coin Change(硬币找零)

开始的时候用的是dfs+剪枝,很快的就TLE了 后来想到dp的记忆化搜索。于是开始苦苦的寻求状态方程,经过一遍又一遍的模拟,我找到了一个规律, 就是每增加一种硬币就更新一次状态,但是所得规律不对,连样例都过不了,后来继续找。。。。 再后来,我就没出息的搜了结题报告了,, 等到我彻底理解了,才写的代码。 也勉强的算上转化为自己的东西了吧 代码如下: #include <cstdio