A - Proud Merchants HDU - 3466 (01背包+附属条件)

A - Proud Merchants HDU - 3466 (01背包+附属条件)

题目链接
题目大意:n件物品,m块钱,每件物品pi价格,qi是买这件物品必须有的钱数,vi是这件物品的价值。问获得的最大的价值。
样例

3 10
5 10 5
3 5 6
2 7 3
输出 11

思路:01背包多了一个附属条件。感觉这个样例给的就很ok ,我们发现如果我们先买第一个物品的话只能获得11的价值。但是如果先买第二个物品的话,获得5。所以我们发现获得的价值是跟顺序有关的,就是说我们需要排序。
按什么排序就成了这道题目的关键。 如果第一件物品的价格是pi, qi,第二件物品的价格是pj, qj。如果我们先买第一件物品,我们至少需要的钱数就是pi + qj, 先买第二件物品,至少需要pj + qi。
如果pi + qj < pj + qi, pi - qi < pj - qj

猜你喜欢

转载自blog.csdn.net/deerly_/article/details/81185889