# Dynamic Graph Vertex Add Component Sum

AC一覧

## Problem Statement問題文

You are given an empty graph with $N$ vertices. The $i$-th vertex has a value $a_i$ written on it.

Process $Q$ queries:

• 0 $u$ $v$ : Add an edge between vertex $u$ and vertex $v$. (It is guaranteed that, immediately before this query, there is no edge between vertex $u$ and vertex $v$)
• 1 $u$ $v$ : Remove the edge between vertex $u$ and vertex $v$. (It is guaranteed that, immediately before this query, there is an edge between vertex $u$ and vertex $v$)
• 2 $v$ $x$ : $a_v \gets a_v + x$
• 3 $v$ : Output the sum of values on all vertices that are connected to vertex $v$ by a path.

$N$ 頂点の空グラフが与えられる。頂点 $i$ には値 $a_i$ が書かれている。

$Q$ 個のクエリが飛んでくるので処理。

• 0 $u$ $v$ : 頂点 $u$ と頂点 $v$ を繋ぐ辺を張る (このクエリの前、頂点 $u$ と頂点 $v$ は辺で結ばれてない事が保証されます)
• 1 $u$ $v$ : 頂点 $u$ と頂点 $v$ を繋ぐ辺を削除する (このクエリの前、頂点 $u$ と頂点 $v$ は辺で結ばれている事が保証されます)
• 2 $v$ $x$ : $a_v \gets a_v + x$
• 3 $v$ : 頂点 $v$ との間にpathが存在する頂点に書かれた値の総和を出力

## Constraints制約

• $1 \leq N, Q \leq 300{,}000$
• $0 \leq a_i, x \leq 10^{9}$
• $0 \leq u_i, v_i < N$
• $u_i \neq v_i$

## Input入力

$N$ $Q$
$a_0$ $a_1$ ... $a_{N - 1}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$


### # 1

5 16
1 10 100 1000 10000
0 0 1
0 1 2
0 2 3
0 3 4
0 0 4
3 3
1 1 2
3 1
1 3 4
3 0
2 1 100000
3 1
0 1 4
3 2
0 3 4
3 0

11111
11111
10011
110011
1100
111111


Timelimit: 10 secs

Before submitting, please confirm terms and conditions