Dynamic Tree Vertex Add Path Sum

AC一覧

Problem Statement
問題文

Given tree of $N$ vertices. Edges are $(u_i, v_i)$. Value $a_i$ is written on vertex $i$.

Process the following $Q$ queries in order. You can assume that the graph is always the tree while processing the queries.

  • 0 $u$ $v$ $w$ $x$: Delete a edge $(u, v)$, and add $(w, x)$.
  • 1 $p$ $x$: $a_p \gets a_p + x$
  • 2 $u$ $v$: Print the sum of values of vertices of the path between $u$ and $v$ (inclusive).

$N$ 頂点の木が与えられる。辺は $(u_i, v_i)$。頂点 $i$ には値 $a_i$ が書かれている。

$Q$ 個のクエリが飛んでくるので処理。ただし, クエリ処理後もグラフが木であることが保証される.

  • 0 $u$ $v$ $w$ $x$: 辺$(u, v)$を削除, 辺$(w, x)$を作成。
  • 1 $p$ $x$: $a_p \gets a_p + x$
  • 2 $u$ $v$: $u, v$ 間のパス上の頂点(端点含む)に書かれた値の総和を出力

Constraints
制約

  • $1 \leq N, Q \leq 200,000$
  • $0 \leq a_i, x \leq 10^9$
  • $0 \leq p, u_i, v_i < N$
  • $(u_i, v_i)$ is tree.
  • for type 0 queries, there is a edge $(u, v)$.
  • The graph is always tree.
  • $1 \leq N, Q \leq 200,000$
  • $0 \leq a_i, x \leq 10^9$
  • $0 \leq p, u_i, v_i < N$
  • $(u_i, v_i)$ は木
  • type 0のクエリについて、必ず辺 $(u, v)$ は存在する
  • グラフはクエリ処理中ずっと木

Input
入力

$N$ $Q$
$a_0$ $a_1$ ... $a_{N - 1}$
$u_0$ $v_0$
$u_1$ $v_1$
:
$u_{N - 2}$ $v_{N - 2}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$

# 1

5 7
1 10 100 1000 10000
0 1
1 2
2 3
1 4
2 0 3
1 1 100000
2 3 4
0 1 2 2 0
2 3 4
0 2 3 3 1
2 2 3
1111
111110
111111
101111

Forum


Timelimit: 5 secs

Before submitting, please confirm terms and conditions