loj#P3632. 「2021 集训队互测」Lovely Dogs

    ID: 16767 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>数据结构莫比乌斯反演树上启发式合并集训队互测2021

「2021 集训队互测」Lovely Dogs

题目描述

nn 只可爱的狗子,第 ii 只可爱的狗子的可爱值为 aia_i。可爱的狗子们通过一些姐妹关系形成了一个树状结构。在 11 号狗子是树的根的情况下,ii 号狗子的子树内的狗子就是 ii 号狗子的妹妹们。

若一只可爱的狗子 ii 在玩游戏,那么她会对游戏产生 fd(ai2)f_d(a_i^2) 的欢乐值。若两只可爱的狗子 i,ji,j 在一起玩游戏,那么她们会对游戏产生 fd(aiaj)f_d(a_ia_j) 的欢乐值。一次游戏的欢乐值是所有玩游戏的狗子和狗子对,所贡献的欢乐值的和。

给定常数 dd。我们将 zz 拆解成一些质数的幂次的乘积 z=ipikiz=\prod_ip_i^{k_i},我们定义:

fd(z)=i(1)ki[kid]f_d(z)=\prod_i(-1)^{k_i}[k_i\le d]

现在对于每只可爱的狗子 xx,她打算和她的妹妹们一起玩游戏,希望你能帮她们计算出此次游戏的欢乐值。

输入格式

第一行两个整数 n,dn,d

接下来 n1n-1 行每行描述一条边,第 ii 条边为 ui,viu_i,v_i。保证这 n1n-1 条边会构成一棵树。

接下来一行 nn 个数,第 ii 个数代表 aia_i,保证所有的 aia_i 构成一个 11nn 的排列。

输出格式

输出一共 nn 行,每行一个数。第 ii 行的数代表编号为 ii 的点(狗子)的答案。

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

数据范围与提示

对于 100%100\% 的数据满足 $1\le n\le 2\times 10^5,1\le d\le 20,1\le a_i,u_i,v_i\le n$,保证所有的 aia_i 构成一个 11nn 的排列。

子任务编号 子任务分值 特殊数据范围
subtask 1 1010 n500n\le 500
subtask 2 1010 n2000n\le 2000
subtask 3 1010 d=20d=20
subtask 4 2020 d=1,i,ui=1,vi=i+1d=1,\forall i,u_i=1,v_i=i+1
subtask 5 1515 i,ui=1,vi=i+1\forall i,u_i=1,v_i=i+1
subtask 6 1010 n50000n\le 50000
subtask 7 2525 n2×105n\le 2\times 10^5