#P51873. 「LOJ」 LJJ 爱数树

「LOJ」 LJJ 爱数树

题目描述

Eden 偶然间拿到了一张藏宝图,值得一提的是,这是张无向联通图,有 nn 个节点,n1n-1 条长度为 11 的边,我们称之为。每个节点上都标有该地点的宝藏数量 wiw_i

然而宝藏太多,不能一次性搬完,Eden 花费其所有积蓄买来 kk 个摄像头,每个摄像头能观测的距离范围是 rr(我们规定树上任意两点距离为其最短路径的长度)。为了确保宝藏尽可能不被他人拿走,Eden 将要在这棵树上的 kk 个节点处布置摄像头(于是与该节点距离小于等于 rr 的节点都能被观测到)。

Eden 想要使能被观测到的节点的宝藏数量(即 wiw_i)之和最大化,于是他把这个问题交给了爱数树的 LJJ,让 LJJ 枚举所有可能放置摄像头的情况,来筛选出最优的方案。

LJJ 数到一半,发现这个方案数量太多了,于是他把问题抛给了你,请你输出能被观测到的节点的 wiw_i 之和的最大值。

为了使某乱搞算法不能通过,所以每组测试点有 TT 组数据。

输入格式

第一行,一个正整数 TT,表示有 TT 组数据。

对于每组数据:
第一行:三个用空格分隔开的正整数 n,k,rn, k, r
第二行:nn 个用空格分隔开的正整数,第 ii 个数表示 wiw_i
第三至第 n+1n+1 行:每行两个整数 x,yx,y,表示 xxyy 之间有一条边。

输出格式

对于每组数据一行输出一个整数,表示能被观测到的节点的 wiw_i 之和的最大值。

样例 1

2
9 1 1
2 2 2 2 2 3 4 3 4
1 2
1 3
1 4
1 5
2 6
6 7
3 8
8 9
9 2 1
2 2 2 2 2 3 4 3 4
1 2
1 3
1 4
1 5
2 6
6 7
3 8
8 9
10
18
3
10 1 1
2 8 9 6 1 9 9 2 8 9
1 2
2 3
2 4
4 5
3 6
2 7
7 8
4 9
7 10
10 2 1
2 8 9 6 1 9 9 2 8 9
1 2
2 3
2 4
4 5
3 6
2 7
7 8
4 9
7 10
10 3 1
2 8 9 6 1 9 9 2 8 9
1 2
2 3
2 4
4 5
3 6
2 7
7 8
4 9
7 10
34
46
61

数据范围与提示

对于 10%10\% 的数据,1kn20,0<r,wi201\le k\le n\le 20,0\lt r,w_i\le 20
对于 40%40\% 的数据,1kn50,0<r,wi501\le k\le n\le 50,0\lt r,w_i\le 50
另有 20%20\% 的数据,k2,n1000,0<r1000,0<wi106k\le 2,n\le 1000,0\lt r\le 1000,0\lt w_i\le 10^6
另有 10%10\% 的数据,给定的树是一条链;
对于全部数据,1kn1000,0<r1000,0<wi106,1T5,1x,yn1\le k\le n\le 1000,0\lt r\le 1000,0\lt w_i\le 10^6,1\le T\le 5,1\le x,y\le n