题目 20015

圣诞树彩球

题号
20015
时间限制
2000 ms
内存限制
1024 MB
标签
比赛
来源
2026 普及模拟赛 1 - E

时空限制

时间限制 2s2\text{s},内存限制 1024MB1024\text{MB}

题目描述

圣诞节到了,小 Z 在圣诞树上挂满了彩球。

圣诞树一共有 nn 个节点,由 n1n-1 条边进行连接,小 Z 在圣诞树的每个节点上都挂上了恰好一个彩球,其中第 ii 个节点上挂的彩球的美丽值为 aia_i

小 Z 的幸运数字是 kk,因此小 Z 想把整棵圣诞树分成若干部分,每部分为树上的一个联通块,把其中每个彩球美丽值之和恰好为 kk 的联通块当作礼物送给他的朋友们。

小 Z 想知道他至多可以送出多少份礼物。

以下给出一份形式化的题意:

给定一棵 nn 个点的树和定值 kk,第 ii 个点的点权为 aia_i

选出尽可能多的联通块,使得每个联通块之间的点不存在交集,且每个联通块内所有点的点权和恰为 kk

输出可以选择的最多的联通块个数。

输入描述

第一行一个正整数 TT,表示数据组数,之后对于每组数据:

第一行给定两个整数 n,kn,k

第二行给定 nn 个非负整数 a1,a2,...,ana_1,a_2,...,a_n

之后 n1n-1 行,每行给定两个整数 u,vu,v,表示树上的一条边。

输出格式

输出 TT 行,每行一个整数,表示答案。

样例输入1

4
7 5
1 2 1 2 2 1 2
1 2
2 3
3 4
3 5
5 6
5 7
2 2
1 0
1 2
1 1
1
1 2
1

样例输出1

2
0
1
0

样例解释1

对于第一组数据,选择的联通块分别为 5,6,7,2,3,4{5,6,7},{2,3,4}

样例输入2,3

见下发文件。

样例输出2,3

见下发文件。

数据范围

对于 3030% 的数据,1i=1Tni200,1n201 \leq \sum_{i=1}^T n_i \leq 200,1 \leq n \leq 20

对于 6060% 的数据,1i=1Tni104,1n10001 \leq \sum_{i=1}^T n_i \leq 10^4,1 \leq n \leq 1000

对于 100100% 的数据,1i=1Tni106,1k106,0ai21 \leq \sum_{i=1}^T n_i \leq 10^6,1 \leq k \leq 10^6,0 \leq a_i \leq 2

<!-- roj:downloads:start -->

下发数据