#aBC187E. [ABC187E] Through Path

[ABC187E] Through Path

AT_abc187_e [ABC187E] Through Path

题目描述

有一棵包含 NN 个顶点和 N1N-1 条边的树,顶点编号为 1,2,,N1, 2, \dots, N,边编号为 1,2,,N11, 2, \dots, N-1。第 ii 条边连接顶点 aia_i 和顶点 bib_i。树上的每个顶点 ii 上写有一个整数 cic_i,初始时 ci=0c_i = 0

接下来有 QQ 个查询。第 ii 个查询给出整数 ti,ei,xit_i, e_i, x_i,其含义如下:

  • ti=1t_i = 1 时:对于所有可以从顶点 aeia_{e_i} 出发,且不经过顶点 beib_{e_i} 到达的顶点 vv,将 cvc_v 替换为 cv+xic_v + x_i
  • ti=2t_i = 2 时:对于所有可以从顶点 beib_{e_i} 出发,且不经过顶点 aeia_{e_i} 到达的顶点 vv,将 cvc_v 替换为 cv+xic_v + x_i

请在所有查询处理完毕后,输出每个顶点上的整数。

输入格式

输入按以下格式从标准输入读入。

NN
a1a_1 b1b_1
a2a_2 b2b_2
\vdots
aN1a_{N-1} bN1b_{N-1}
QQ
t1t_1 e1e_1 x1x_1
t2t_2 e2e_2 x2x_2
\vdots
tQt_Q eQe_Q xQx_Q

输出格式

请按顺序输出所有顶点 c1,c2,,cNc_1, c_2, \dots, c_N 的值,每行输出一个。

输入输出样例 #1

输入 #1

5
1 2
2 3
2 4
4 5
4
1 1 1
1 4 10
2 1 100
2 2 1000

输出 #1

11
110
1110
110
100

输入输出样例 #2

输入 #2

7
2 1
2 3
4 2
4 5
6 1
3 7
7
2 2 1
1 3 2
2 2 4
1 6 8
1 3 16
2 4 32
2 1 64

输出 #2

72
8
13
26
58
72
5

输入输出样例 #3

输入 #3

11
2 1
1 3
3 4
5 2
1 6
1 7
5 8
3 9
3 10
11 4
10
2 6 688
1 10 856
1 8 680
1 8 182
2 2 452
2 4 183
2 6 518
1 3 612
2 6 339
2 3 206

输出 #3

1657
1657
2109
1703
1474
1657
3202
1474
1247
2109
2559

说明/提示

数据范围

  • 所有输入均为整数。
  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1ai,biN1 \leq a_i, b_i \leq N
  • 给定的图保证是一棵树。
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • ti{1,2}t_i \in \{1, 2\}
  • 1eiN11 \leq e_i \leq N-1
  • 1xi1091 \leq x_i \leq 10^9

样例说明 1

11 个查询,从顶点 11 出发,不经过顶点 22,可以到达的顶点只有 11,因此 11 加上 11
22 个查询,从顶点 44 出发,不经过顶点 55,可以到达的顶点有 1,2,3,41, 2, 3, 4,每个都加上 1010
33 个查询,从顶点 22 出发,不经过顶点 11,可以到达的顶点有 2,3,4,52, 3, 4, 5,每个都加上 100100
44 个查询,从顶点 33 出发,不经过顶点 22,可以到达的顶点只有 33,因此 33 加上 10001000

由 ChatGPT 4.1 翻译