atcoder#ABC187E. [ABC187E] Through Path

[ABC187E] Through Path

配点 : 500500

問題文

NN 頂点 N1N-1 辺から成る木があり、頂点には 1,2,,N1, 2, \dots, N の番号が、辺には 1,2,,N11, 2, \dots, N-1 の番号がついています。辺 ii は頂点 aia_i と頂点 bib_i を結びます。 この木の各頂点には 11 つの整数が書かれています。頂点 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_vcv+xic_v + x_i に書き換える。
  • ti=2t_i = 2 のとき : 頂点 beib_{e_i} から辺をたどって頂点 aeia_{e_i} を通らずに到達できるような全ての頂点 vv に対して、cvc_vcv+xic_v + x_i に書き換える。

すべてのクエリを処理した後、各頂点に書かれた整数を出力してください。

制約

  • 入力は全て整数
  • 2N2×1052 \le N \le 2 \times 10^5
  • 1ai,biN1 \le a_i, b_i \le N
  • 与えられるグラフは木である
  • 1Q2×1051 \le Q \le 2 \times 10^5
  • ti{1,2}t_i \in \{1, 2\}
  • 1eiN11 \le e_i \le N-1
  • 1xi1091 \le x_i \le 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN

a1a_1 b1b_1

\vdots

aN1a_{N-1} bN1b_{N-1}

QQ

t1t_1 e1e_1 x1x_1

\vdots

tQt_Q eQe_Q xQx_Q

出力

すべてのクエリを処理した後の c1,c2,,cNc_1, c_2, \dots, c_N をこの順に改行区切りで出力せよ。

5
1 2
2 3
2 4
4 5
4
1 1 1
1 4 10
2 1 100
2 2 1000
11
110
1110
110
100

11 番目のクエリでは、頂点 11 から始めて頂点 22 を通らずに到達できる頂点 1111 を足します。 22 番目のクエリでは、頂点 44 から始めて頂点 55 を通らずに到達できる頂点 1,2,3,41, 2, 3, 41010 を足します。 33 番目のクエリでは、頂点 22 から始めて頂点 11 を通らずに到達できる頂点 2,3,4,52, 3, 4, 5100100 を足します。 44 番目のクエリでは、頂点 33 から始めて頂点 22 を通らずに到達できる頂点 3310001000 を足します。

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
72
8
13
26
58
72
5
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
1657
1657
2109
1703
1474
1657
3202
1474
1247
2109
2559