题目背景
传说在很久以前,小怪兽 F1raC0de 作恶多端,大法师便将其封印于夜空之中。为了完成封印,大法师施展法术重排了星辰,令夜空呈现出特定的星象。
据说这道封印一直留存至今,再无人知晓它昔日的全貌。
题目描述
小 H 在阅读古籍时发现,夜空中的星辰可以抽象为一个 $N$ 个点 $N-1$ 条边的无向连通图,其中每个点有亮度 $B_i$ 和价值 $V_i$($V_i$ 可能为负数)。
小 H 暗恋小 X,她想要摘下星星送给小 X 当礼物,但小 H 的背包有限,她最多只能装下 $M$ 颗星星。现在她想要你选出一个点集 $S$($\lvert S \rvert \le M$),要求满足以下条件:
对于集合 $S$ 中任意两点 $u,v$,在原树中 $u$ 到 $v$ 的路径上(包括端点 $u$ 和 $v$),所有节点的亮度最小值,必须恰好等于 $\min(B_u,B_v)$。
她想要知道所有合法集合 $S$ 中,$\sum_{u\in S} V_u$ 最大是多少?(可以一个也不选,最大值为 $0$)。
输入格式
从文件 _night.in_ 中读入数据。
本题有多组测试数据。
输入的第一行包含两个正整数 $c,T$,分别表示数据点编号与测试数据组数。$c = 0$ 表示该测试点为样例。
接下来包含 $T$ 组数据,每组数据的格式如下:
第一行包含两个整数 $N,M$。
第二行包含 $N$ 个整数 $B_i$,保证 $B_i$ 互不相同。
第三行包含 $N$ 个整数 $V_i$。
接下来 $N - 1$ 行,每行两个整数 $u,v$,表示一条边。
输出格式
输出到文件 _night.out_ 中。
对于每组数据:输出一行一个整数表示答案。
样例 1 输入
0 1
5 3
29 8 15 36 22
-184 -11 -8427 9925 -5946
1 2
1 3
1 4
1 5
样例 1 输出
9925
样例 1 解释
选择节点 $\{ 4 \}$(亮度 $36$,价值 $9925$)。由于只选择了一个节点,自动满足条件。
样例 2
见选手目录下的 _night/night2.in_ 与 _night/night2.ans_。
该组样例满足测试点 3 的限制。
样例 3
见选手目录下的 _night/night3.in_ 与 _night/night3.ans_。
该组样例满足测试点 10 的限制。
样例 4
见选手目录下的 _night/night4.in_ 与 _night/night4.ans_。
该样例满足测试点 14 的限制。
样例 5
见选手目录下的 _night/night5.in_ 与 _night/night5.ans_。
该样例满足测试点 20 的限制。
数据范围
对于所有测试数据,$T\le 5$,$1 \leq M \leq N \leq 10^5$,$1 \leq B_i \leq 10^9$,$-10^4 \leq V_i \leq 10^4$。
| 测试点编号 | $N$ | $M$ | 特殊性质 |
|---|---|---|---|
| 1 ~ 2 | $\leq 18$ | $\leq 10$ | 无 |
| 3 ~ 4 | $\leq 5000$ | $\leq 3000$ | A |
| 5 ~ 6 | $\leq 10^5$ | $\leq 10^5$ | A |
| 7 | $\leq 10^5$ | $\leq 10^5$ | B |
| 8 ~ 9 | $\leq 10^5$ | $\leq 10^5$ | C |
| 10 ~ 11 | $\leq 5000$ | $\leq 3000$ | D |
| 12 ~ 13 | $\leq 10^5$ | $\leq 10^5$ | D |
| 14 ~ 16 | $\leq 5000$ | $\leq 3000$ | 无 |
| 17 ~ 20 | $\leq 10^5$ | $\leq 10 ^ 5$ | 无 |
特殊性质 A:保证树的形态为以 $1$ 为根的小根堆。
特殊性质 B:保证树的形态为以 $1$ 为根的大根堆。
特殊性质 C:保证树的形态为菊花图。
特殊性质 D:保证树的形态为一条链。
