#CSES2133. 动态连通性

动态连通性

题目背景

翻译自 CSES-2133 题。

题目描述

考虑一个由nn个节点和mm条边组成的无向图。可能会发生两种类型的事件:

  1. 在节点aa和节点bb之间创建一条新的边。
  2. 移除节点aa和节点bb之间的一条已存在的边。

你的任务是报告每次事件之后的连通分量数量。

输入格式

第一行包含三个整数nnmmkk:分别表示节点数、边数和事件数。

接下来有mm行描述图中的边。每行包含两个整数aabb,表示节点aa和节点bb之间有一条边。图中每一对节点之间最多只有一条边。

然后有kk行描述事件。每行的格式为“tt aa bb”,其中tt是1(表示创建一条新边)或2(表示移除一条边)。新边总是创建在两个节点之间,这两个节点之间原本没有边,且只有已存在的边可以被移除。

输出格式

输出k+1k+1个整数:首先输出事件发生前的连通分量数量,然后输出每次事件发生后的连通分量数量。

样例

5 3 3
1 4
2 3
3 5
1 2 5
2 3 5
1 1 2
2 2 2 1

说明/提示

2n1052 \leq n \leq 10^5

1m,k1051 \leq m, k \leq 10^5

1a,bn1 \leq a, b \leq n