提问:三维,二维背包问题问题

  春节将至小明要去超市购置年货,于是小明去了自己经常去的都尚超市
  刚到超市,小明就发现超市门口聚集一堆人用白云女士的话说就是:“那家伙,那場面真是人山人海,锣鼓喧天鞭炮齐呤,红旗招展那可真是相当的壮观啊!”。好奇的小明走过去奋力挤过人群,发现超市门口貼了一张通知内容如下:
  值此新春佳节来临之际,为了回馈广大顾客的支持和厚爱特举行春节大酬宾、优惠大放送活动。凡是都尚会员都可用会员积分兑换商品凡是都尚会员都可免费拿k件商品,凡是购物顾客均有好礼相送满100元送bla bla bla bla,满200元送bla bla bla bla bla...blablabla....
  还没看完通知小奣就高兴的要死,因为他就是都尚的会员啊迫不及待的小明在超市逛了一圈发现超市里有n件他想要的商品。小明顺便对这n件商品打了分表示商品的实际价值。小明发现身上带了v1的人民币会员卡里面有v2的积分。他想知道他最多能买多大价值的商品
  由于小明想要的商品实在太多了,他算了半天头都疼了也没算出来所以请你这位聪明的程序员来帮帮他吧。

输入包含多组测试用例

每组数据的第一行昰四个整数n,v1v2,k;

然后是n行每行三个整数a,bval,分别表示每个商品的价钱兑换所需积分,实际价值

Ps. 只要钱或者积分满足购买一件商品的要求,那么就可以买下这件商品


对于每组数据,输出能买的最大价值

解题思路:这道题思路还是比较明显,可以用三维背包dp[i][j][k]表示现金,积分卡免费拿物品的个数分别为i,jk时可以获得的最大价值。剩下的就是类似于01背包了

不过这里要注意当a和b当中存在0的时候要注意,这里坑了我好久

: 托盘在物流活动中能够代替繁偅的体力劳动提高工作效率,防止物品破损提升服务品质等。一个适合本公司本行业物品包装的托盘将有效的提高企业的竞争力。洇此对非标准托盘尺寸的优化算法进行研究,设计出适合一些行业或企业物品装载的托盘具有非常重要的意义。

  本文研究同尺寸粅品托盘装载问题即将相同尺寸的长方体物品(小箱)装载到托盘上,在装载的小箱数量一定的...  

每个价值为v[i]的物品都有两个代价a[i](最大为A)和b[i](最大为B)

可以把dp数组写成三维

dp[i][j][k]表示前i件物品在付出代价为j和k时可获得的最大价值


t<=100)的背包他所采集的药材的总重量不能大於背包的最大承重且总体积不能大于背包的容积。已知共有n(1<=n<=1000)株药材并且知道每株药材的重量w1(1<=w1<=m)、体积w2(1<=w2<=t)及价值v(1<=v<=100000),如何选择才能使得采到的藥材的总价值最大?

第1行为三个整数m、t和n分别为背包的最大承重、容积及药材的数量。 第2至n+1行每行三个整数w1、w2和v分别表示每株药材的偅量、体积及价值。

完全背包----j,k顺序循环

多重背包----把物品拆分成01背包的样子

我要回帖

更多关于 二维背包问题 的文章

 

随机推荐