骑士团
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
🏰 在古老的王国中,骑士团准备展开一次重要的远征。
军械库中一共有 N 件装备,但运输队只能携带一个容量有限的行囊,最大承载能力为 V。
这些装备并非彼此独立—— 由于传承、组合或使用限制,装备之间形成了一种严格的层级关系:
如果你想携带某件装备,就必须先携带它所依赖的上级装备。
所有装备的依赖关系恰好构成一棵树。
传承规则说明
-
每件装备都有一个唯一编号
i(1 到 N)。 -
装备
i具有:- 体积
vi - 价值
wi - 一个依赖的上级装备编号
pi
- 体积
-
如果
pi = -1,表示这件装备是传承链的起点(根装备)。 -
若选择某件装备,则必须同时选择它的所有祖先装备。
例如: 如果装备3依赖于2,2依赖于1,想携带3时,1、2、3必须一起携带。
你的任务
在不超过行囊容量 V 的前提下,从这些存在传承关系的装备中进行选择,使得:
所携带装备的总价值最大。
你只需要输出这个最大总价值。
输入格式
第一行:两个整数 N 和 V,表示装备数量和行囊容量
接下来 N 行:第 i 行包含三个整数 vi, wi, pi
含义如下:
-
vi:第 i 件装备的体积 -
wi:第 i 件装备的价值 -
pi:第 i 件装备所依赖的上级装备编号pi = -1表示该装备是根装备
数据保证所有装备的依赖关系构成一棵树。
输出格式
一个整数,表示在规则允许下可以获得的最大总价值
数据范围
-
1 ≤ N, V ≤ 100 -
1 ≤ vi, wi ≤ 100 -
父装备编号:
- 根装备:
pi = -1 - 其他装备:
1 ≤ pi ≤ N
- 根装备:
5 7
2 3 -1
2 2 1
3 5 1
4 7 2
3 6 2
11