多重背包。
每个物品分别dp。。
dp[i][j]表示考虑了前i个物品。。装满j的背包。。第i个物品最少拿多少个
这样就可以了
转移大概是。。。dp[i][j] = std::min(dp[i][j - a[i]] + 1, 0 if dp[i
- 1][j]
a[i]是第i个物品的大小
c[i]是数量
Coins
Time Limit: 2000/1...
分类:
其他好文 时间:
2015-05-15 19:58:09
阅读次数:
136
题目大意:
Silverland居住的人们使用方币,这种硬币的价值都是平方数。硬币的价值分别为1分、4分、9分,
…,最大为289(17^2)分。要得到10分钱,共有四种硬币组合
10个1分硬币、1个4分硬币和6个1分硬币、2个4分硬币和2个1分硬币,1个9分硬币和1个1分硬币。
现在给你一个数,问:得到这个值,共有多少种不同的硬币组合方式。
思路:
典型的母函数问题。
可列出母函数 g(x) = (1+x+x^2+x^3+…)*(1+x^4+x^8+…)*…*(1+x^289+x^578+…),用母函
...
分类:
其他好文 时间:
2015-05-14 23:55:39
阅读次数:
261
题目的意思是,输入n个硬币的面值和数量,求不超过m的组合方法的数目。
今天学习了多重背包,但是还是不是很懂,继续努力。
下面的是AC的代码:
#include
#include
#include
#include
using namespace std;
class data
{
public:
int value, count;
};
data Da[101];
int d...
分类:
其他好文 时间:
2015-05-14 08:43:32
阅读次数:
125
题意:FJ身上有各种硬币,但是要买m元的东西,想用最少的硬币个数去买,且找回的硬币数量也是最少(老板会按照最少的量自动找钱),即掏出的硬币和收到的硬币个数最少。思路:老板会自动找钱,且按最少的找,硬币数量也不限,那么可以用完全背包得出组成每个数目的硬币最少数量。而FJ带的钱是有限的,那么必须用多重背...
分类:
其他好文 时间:
2015-05-11 12:28:17
阅读次数:
243
The probability of getting \(k\) heads when flipping \(n\) coins is:\[P(E)={n\choose k}p^k(1-p)^{n-k}\]
分类:
其他好文 时间:
2015-05-10 09:37:09
阅读次数:
102
Problem Description N robbers have robbed the bank. As the result of their crime they chanced to get M golden coins. Before the robbery the band has made an agreement that after the robbery i-th gangs...
分类:
其他好文 时间:
2015-05-09 16:40:13
阅读次数:
169
戳这里:2844//复习一下背包问题//题意:告知你 N 中硬币的面值和数量,求能组成多少不同的面额,面额限制在区间 [1, M] 中//思路:用背包覆盖一边,取硬币的空间为它自身的价值,则当 dp[i] == i 时,说明空间为 i 的背包背填满,即可以组成面额为 i 的情况 1 #include...
分类:
其他好文 时间:
2015-05-07 21:55:34
阅读次数:
122
题意:一袋硬币两人分,要么公平分,要么不公平,如果能公平分,输出0,否则输出分成两半的最小差距。思路:将提供的整袋钱的总价取一半来进行01背包,如果能分出出来,就是最佳分法。否则背包容量为一半总价的包能装下的硬币总值就是其中一个人能分得的最多的钱了,总余下的钱减去这包硬币总值。(只需要稍微考虑一下总...
分类:
其他好文 时间:
2015-05-03 18:47:27
阅读次数:
112