U189430 带权树形背包

题目背景

(题目非原创)

题目描述

你可以理解为每个节点(课程)不光有价值,还有代价的[选课](https://www.luogu.com.cn/problem/P2014)。 给一颗有 $n$ 个节点的树,每个点 $i$ 有重量(代价)$w_j$ 和价值 $v_i$。除根结点外的每个节点必须在其父亲被选择的前提下才能被选择。求在选择的节点重量和不超过 $W$ 的前提下,最大价值和是多少。

输入格式

第一行两个整数 $n,W$。 接下来 $n-1$ 行每行三个数 $w_i,father_i,v_i$ 根节点的 $father_i$ 在输入中等于自己。

输出格式

一个整数,表示求在选择的节点重量和不超过 $W$ 的前提下,最大价值和是多少。

说明/提示

### 样例解释 选 $1,2,6$ 号节点。 ### 数据范围 $1 \leq n \leq 5 \times 10^3, \ 1 \leq W, w_i \leq 10^4, \ 1 \leq v_i \leq 10^5, \ 1 \leq father_i \leq max(1, i-1)$ ### 提示 $dfs$ 序优化。