背包
文章平均质量分 77
zhangwei1120112119
这个作者很懒,什么都没留下…
展开
-
poj 1384 Piggy-Bank
完全背包问题,背包解法详见背包九讲 题意: 有一个罐子,里面装着钱,你知道它里面装的钱的重量。 同时给出所有种类的钱的价值和重量,问罐子装满时的最小重量 初始化时,由于只有在体积为0的时候被装满,所以只有d[0]=0,而其他情况都未知,所以设为最大值 样例解释 3 10 110 2 1 1 30 50 10 110 2 1 1 50 30 1 6 2 10 3 20 4 3的意思原创 2012-11-17 21:27:30 · 424 阅读 · 0 评论 -
hdu3496 Watch The Movie
题意: 新学期的到来,多多明天必须去上学,今天她决定晚上玩得开心点,她喜欢看卡通。所以她希望她的叔叔买一些电影给她今晚看。她的祖父给了她 L 分钟看卡通。之后,她不得不去睡觉。多多将N个电影编号为从1到N .都是她最喜欢的电影,她希望她的叔叔买给她。每个电影有个值val,每部电影都有一个时间T。多多不会中止一个电影的播放,但有一个奇怪的问题,商店出售M个电影(而不是更少或更多),她的叔叔。如何原创 2012-11-18 18:24:36 · 363 阅读 · 0 评论 -
hdu1712 ACboy needs your help
题意: 有个ACboy有这学期有N门课要学,他打算最多花M天去学习,当然,他的收益决定于他在课程上花的天数 输入: 2 2 1 2 1 3 课程编号为1,2,,,N 每个样例的第一行为n,m接下来为n*m的矩阵a,a[i][j]表示在i课程上花j天的收益 解法: 分组的背包问题,做法详见背包九讲,写的时候先将每个组看成一个整体,化为01背包,然后再加入组的成员 #inclu原创 2012-11-18 19:31:36 · 397 阅读 · 0 评论 -
poj2063 Investment
题意: 1 10000 4 2 4000 400 3000 250 对此样例的意思是 1表示有1个样例 每个样例的第一行10000 4表示你又10000的资金和4年的时间 2表示两种债卷,每种债卷有花费资金和年获利 比如4000 400表示你花4000资金,一年后就会有利息400,于是总资金变为4400,这时可以重新购买债券 每种债券的花费资金是1000的倍数 完全背包问题原创 2012-11-18 10:50:19 · 376 阅读 · 0 评论 -
poj1276 Cash Machine
题意: 735 3 4 125 6 5 3 350 633 4 500 30 6 100 1 5 0 1 735 0 0 3 10 100 10 50 10 10 第一行的意思是给一个735大小的背包 然后3表示后面有3种物品,4和125表示,有个物体大小为125,价值为125,有4个 多重背包求解,交的时候忘了注释freopen,狂WA。。二进制解法如下。原创 2012-11-17 22:56:53 · 386 阅读 · 0 评论 -
poj1742 Coins
三天了,从一点不会单调队列到AC。。。。。 dp[i]表示i容量是否能凑出来 num[i]表示当前i容量使用当前硬币的数目 关于单调队列优化多重背包的思想,在《国家集训队2009论文集浅谈几类背包题》有详细介绍 #include #include #include using namespace std; int a[110]; int c[110]; bool dp[100010原创 2013-03-13 18:17:07 · 751 阅读 · 0 评论 -
HDU4501 小明系列故事——买年货
背包 状态定义d[i][a][b][c] 前i件a价钱b积分c免费的最大值 状态转移 d[i][a][b][c] d[i-1][a-a[i-1]][b][c]+val[i-1] d[i][a][b][c] d[i-1][a][b-b[i-1]][c]+val[i-1] d[i][a][b][c] d[i-1][a][b][c-c[i-1原创 2013-03-21 15:34:38 · 877 阅读 · 0 评论