#P17450. 同频回声 / Same Frequency Echo

同频回声 / Same Frequency Echo

题目描述

给定一棵以节点 11 为根、包含 nn 个节点的带权树。

节点 ii 具有:

  • 频段 cic_i;
  • 发射时刻 aia_i。

每个频段 cc 具有重要度 wcw_c。

对于两个使用相同频段的不同节点 u,vu,v,定义它们的同步代价为

D(u,v)=∣au−av∣+dist⁡(u,v),D(u,v)=|a_u-a_v|+\operatorname{dist}(u,v),

其中 dist⁡(u,v)\operatorname{dist}(u,v) 表示 u,vu,v 之间简单路径上的边权之和。

一次询问给出节点 xx 和非负整数 KK。

称频段 cc 在 xx 的管辖区域中产生了回声,当且仅当存在两个不同节点

u,v∈subtree⁡(x)u,v\in\operatorname{subtree}(x)

满足

cu=cv=c,D(u,v)≤K.c_u=c_v=c,\qquad D(u,v)\le K.

其中 subtree⁡(x)\operatorname{subtree}(x) 表示以 xx 为根的子树。

对于每次询问,求所有产生回声的频段的重要度之和,即

$$\sum_{c=1}^{m} w_c \bigl[\exists\,u\ne v\in\operatorname{subtree}(x),\ c_u=c_v=c,\ D(u,v)\le K\bigr].$$

方括号表示 Iverson bracket:条件成立时取 11,否则取 00。

输入格式

第一行包含三个整数 n,m,qn,m,q(1≤n≤1061\le n\le 10^6,1≤m≤1051\le m\le 10^5,1≤q≤1061\le q\le 10^6),分别表示节点数、频段数和询问数。

第二行包含 mm 个整数 w1,w2,…,wmw_1,w_2,\ldots,w_m(0≤wc≤1090\le w_c\le 10^9),表示各个频段的重要度。

第三行包含 nn 个整数 c1,c2,…,cnc_1,c_2,\ldots,c_n(1≤ci≤m1\le c_i\le m),表示各节点使用的频段。

第四行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n(0≤ai≤1090\le a_i\le 10^9),表示各节点的发射时刻。

接下来 n−1n-1 行,每行包含三个整数 u,v,du,v,d(1≤u,v≤n1\le u,v\le n,0≤d≤1090\le d\le 10^9),表示节点 u,vu,v 之间存在一条边权为 dd 的无向边。

接下来 qq 行,每行包含两个整数 x,Kx,K(1≤x≤n1\le x\le n,0≤K≤4×10180\le K\le 4\times 10^{18}),表示一次询问。

保证输入的边构成一棵树,且答案能够用有符号 6464 位整数表示。

输出格式

对于每次询问,输出一行一个整数,表示答案。

7 3 5
5 7 11
1 2 1 3 2 1 3
10 4 13 8 9 20 7
1 2 2
1 3 3
2 4 4
2 5 1
3 6 2
3 7 5
1 5
1 6
2 6
3 9
1 15
0
12
7
5
23

提示

同频节点之间的同步代价如下:

  • 频段 11 的节点为 1,3,61,3,6:D(1,3)=∣10−13∣+3=6D(1,3)=|10-13|+3=6,D(1,6)=∣10−20∣+5=15D(1,6)=|10-20|+5=15,D(3,6)=∣13−20∣+2=9D(3,6)=|13-20|+2=9;
  • 频段 22 的节点为 2,52,5:D(2,5)=∣4−9∣+1=6D(2,5)=|4-9|+1=6;
  • 频段 33 的节点为 4,74,7:D(4,7)=∣8−7∣+14=15D(4,7)=|8-7|+14=15。

因此:

  • 询问 (1,5)(1,5) 中没有频段产生回声,答案为 00;
  • 询问 (1,6)(1,6) 中频段 1,21,2 产生回声,答案为 5+7=125+7=12;
  • 询问 (2,6)(2,6) 中只有频段 22 产生回声,答案为 77;
  • 询问 (3,9)(3,9) 中只有频段 11 产生回声,答案为 55;
  • 询问 (1,15)(1,15) 中三个频段均产生回声,答案为 5+7+11=235+7+11=23。