9539: 小塔的魔法树

内存限制:512 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

小塔是一位年轻的魔法师,她发现了一棵神奇的魔法树。这棵树有 nn 个节点,每个节点上都刻有一个非负整数,代表着该节点蕴含的魔法能量。小塔想要选择一个包含根节点(编号为1)的连通子树,使得子树中所有节点的魔法能量总和不超过她的魔法容量 mm

给定一棵 nn 个节点的树,根节点为1,每个节点 ii 有一个非负整数权值 wiwi。你需要计算有多少种不同的包含根节点的连通子图,满足子图中所有节点的权值之和不超过 mm

形式上,你需要计算满足以下条件的节点集合 SS 的数量:

  1. 1∈S1S
  2. SS 在树中形成的子图是连通的
  3. ∑i∈Swi≤miSwim

输入格式

第一行一个整数 TT 表示测试数据组数(1≤T≤51T5)。

对于每组测试数据:

  • 第一行两个整数 nn 和 mm1≤n≤5×1031n5×1031≤m≤5×1031m5×103
  • 第二行 nn 个整数 w1,w2,…,wnw1,w2,,wn0≤wi≤m0wim
  • 接下来 n−1n1 行,每行两个整数 uu 和 vv,表示树的一条边。

输出格式

对于每组测试数据,输出一个整数表示满足条件的连通子图数量,答案对 109+7109+7 取模。

输入样例 复制

2
3 2
1 1 1
1 2
2 3
5 4
2 1 1 1 1
1 2
1 3
2 4
3 5

输出样例 复制

2
6