二维费用的背包问题:
指对于每件物品,具有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.多重背包时,拆分
时间: 2024-10-12 04:19:22