loj#P3632. 「2021 集训队互测」Lovely Dogs
「2021 集训队互测」Lovely Dogs
题目描述
有 只可爱的狗子,第 只可爱的狗子的可爱值为 。可爱的狗子们通过一些姐妹关系形成了一个树状结构。在 号狗子是树的根的情况下, 号狗子的子树内的狗子就是 号狗子的妹妹们。
若一只可爱的狗子 在玩游戏,那么她会对游戏产生 的欢乐值。若两只可爱的狗子 在一起玩游戏,那么她们会对游戏产生 的欢乐值。一次游戏的欢乐值是所有玩游戏的狗子和狗子对,所贡献的欢乐值的和。
给定常数 。我们将 拆解成一些质数的幂次的乘积 ,我们定义:
现在对于每只可爱的狗子 ,她打算和她的妹妹们一起玩游戏,希望你能帮她们计算出此次游戏的欢乐值。
输入格式
第一行两个整数 。
接下来 行每行描述一条边,第 条边为 。保证这 条边会构成一棵树。
接下来一行 个数,第 个数代表 ,保证所有的 构成一个 到 的排列。
输出格式
输出一共 行,每行一个数。第 行的数代表编号为 的点(狗子)的答案。
3 2
1 2
1 3
1 2 3
2
1
1
20 1
15 2
4 15
9 13
16 19
2 5
13 2
19 2
8 14
1 12
18 7
10 5
3 8
20 19
14 2
7 19
18 6
8 11
17 8
19 1
14 3 5 2 9 4 18 16 1 20 13 7 6 12 19 17 10 15 8 11
2
2
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
3
0
数据范围与提示
对于 的数据满足 $1\le n\le 2\times 10^5,1\le d\le 20,1\le a_i,u_i,v_i\le n$,保证所有的 构成一个 到 的排列。
子任务编号 | 子任务分值 | 特殊数据范围 |
---|---|---|
subtask 1 | ||
subtask 2 | ||
subtask 3 | ||
subtask 4 | ||
subtask 5 | ||
subtask 6 | ||
subtask 7 |