传统题 2000ms 512MiB

树上 LCM

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给你一棵由 nn 个节点的树和一个数 xx,其中每个节点都有一个值。有多少条简单路径的值的 lcmlcmxx

一条简单路径的 lcmlcm 的定义为路径上所有节点的值的 lcmlcm

输入格式

第一行输入一个整数 TT (1T2001 \le T \le 200),表示测试的总数。

对于每个测试样例, 第一行输入两个数 nn1n1051 \leq n \leq 10^5), xx2x1072 \leq x \leq 10^7),表示节点的个数和目标值 xx

接下来 n1n - 1 行,每行两个数 uuvv,表示节点 uuvv 之间存在一条边。

接下来一行 nn 个数 a1,a2,,ana_1, a_2, \cdots, a_n1ai1091 \leq a_i \leq 10^9),每个节点的值。

保证样例中 nn 的总和不超过 3×1053 \times 10^5

输出格式

对于每个样例,输出一个数,满足条件的路径的数量。

2
3 2
1 2
2 3
2 2 2

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

解释 #1

对于第一个样例,任何路径都满足条件。因此答案为 3×2=63 \times 2 = 6

对于第二个样例,满足条件的路径为 [1, 1]、[1, 2]、[1, 4]、[1, 5]、[4, 5]。因此答案为 55

2025 “钉耙编程”中国大学生算法设计暑期联赛(1)

未参加
状态
已结束
规则
XCPC
题目
12
开始于
2025-7-18 12:00
结束于
2025-7-18 17:00
持续时间
5 小时
主持人
参赛人数
0