基础DP中的二维费用的背包

 

二维费用的背包问题:

 

指对于每件物品,具有2种不用的费用,选择这件物品需要同时付出2种代价

 

对于每一种代价都有一个可付出的最大值(背包容量)

 

问怎么样选择物品可以得到最大的价值

 

 

设这2种代价分别为1,2

 

第i件物品所需的2种代价为a[i] , b[i] 

 

2种代价可付出的最大值为U,V

 

物品价值为w[i]

 

费用增加了一维,则状态也增加一维

 

设f[u][v]表示前i件物品付出代价为u,v时的最大价值(注意:是付出代价)

 

则f[u][v]=max(f[u][v],f[u-a[i]][v-b[i]]+w[i])

 

1.物品只取1次,u,v逆序

 

2.完全背包时,u,v顺序

 

3.多重背包时,拆分

 

转载于:https://www.cnblogs.com/-maybe/p/4441640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值