#18011. E - 孤立点

E - 孤立点

问题描述

有一个无向图,初始包含 NN 个顶点(编号为 11NN)和 00 条边。

处理 QQ 个查询。第 ii 个查询(1iQ1 \leq i \leq Q)给出两个整数 tit_iuiu_i,或者三个整数 tit_i, uiu_i, viv_i。具体格式如下:

  • 如果 ti=1t_i = 1:给出两个整数 uiu_iviv_i。在顶点 uiu_i 和顶点 viv_i 之间添加一条无向边。
  • 如果 ti=2t_i = 2:给出一个整数 uiu_i。删除所有与顶点 uiu_i 相连的边(即,删除所有以 uiu_i 为一个端点的边)。

每次查询执行完毕后,请输出当前图中孤立点的数量。

孤立点定义为图中没有边与之相连的顶点。

输入格式

第一行输入两个整数NNQQ
接下来Q行,每行输入一个操作
操作的格式如下:

  • 如果 ti=1t_i = 11 u v
  • 如果 ti=2t_i = 22 u

输出格式

输出 QQ 行。第 ii 行应包含处理完前 ii 个查询后孤立点的数量。

3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2
1
0
0
1
0
3
1
2 1
2 1
2

提示

  • 2N3×1052 \leq N \leq 3 \times 10^5
  • 1Q3×1051 \leq Q \leq 3 \times 10^5
  • 对于 ti=1t_i = 1 的查询:
    • 1ui,viN1 \leq u_i, v_i \leq N
    • uiviu_i \neq v_i
  • 对于 ti=2t_i = 2 的查询:
    • 1uiN1 \leq u_i \leq N
  • 输入保证所有数值均为整数。
  • 对于 ti=1t_i = 1 的查询,在添加这条边之前,顶点 uiu_iviv_i 之间不存在边(即不会出现重边)。