研修计划学分

普及⏱ 1000ms💾 256MB#P5175🏷️ 动态规划树树形DP背包

题目描述

公司培训平台共 $M$ 门研修课,第 $i$ 门课有学分 $s_i$;部分课程有一门直接先修课 (先修课最多一门,多门课程可共享同一先修课,先修关系构成森林——额外设一门"公修"课 $0$ 作为无先修课的根)。 员工最多选修 $N$ 门课,且选某课前必须已选其全部先修课。求可获得的最大学分总和。

输入格式

第一行两个正整数 $M, N$($N \le M$)。 接下来 $M$ 行每行两个整数:第 $i$ 门课的先修课课号 $p_i$($0$ 表示无,视为先修课 $0$ 的子节点)与学分 $s_i$。

输出格式

一行一个整数:最大学分总和。

数据范围

None

样例输入 #1
7 4
0 1
1 2
2 2
0 3
2 1
5 1
2 1
样例输出 #1
4
样例输入 #2
1 1
0 5
样例输出 #2
0