#2307. 【提高】小蓝的预算方案
【提高】小蓝的预算方案
题目描述
小蓝今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品、怎么布置,你说了算,只要不超过 元钱就行。”
今天一早小蓝就开始做预算了。他把想买的物品分为两类:主件与附件,附件从属于某个主件。例如:
| 主件 | 附件 |
|---|---|
| 电脑 | 打印机、扫描仪 |
| 书柜 | 图书 |
| 书桌 | 台灯、文具 |
| 工作椅 | 无 |
如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 个、 个或 个附件。附件不再有从属于自己的附件。
小蓝想买的东西很多,肯定会超过妈妈限定的 元。于是,他给每件物品规定了一个重要度,分为 等,用整数 表示,第 等最重要。他还查到了每件物品的价格。
他希望在不超过 元的前提下,使所购买物品的“价格 重要度”的总和最大。
设第 件物品的价格为 ,重要度为 ,若选中了若干件物品,则目标是最大化:
请你帮助小蓝设计一个满足要求的购物单。
输入格式
第一行输入两个正整数 ,分别表示总钱数和希望购买物品的个数。
接下来 行,每行三个整数 ,分别表示第 件物品的价格、重要度以及它对应的主件编号。如果 ,表示该物品本身是主件;否则表示该物品是第 件物品的附件。
输出格式
输出一个整数,表示在不超过总钱数的情况下,物品价格与重要度乘积总和的最大值。
样例
1000 5
800 2 0
400 5 1
300 5 1
400 3 0
500 2 0
2200
数据范围
,,答案小于 。
来源
NOIP 2006 提高组第 2 题 / 动态规划 / 背包问题