题目名称 3791. [SHOI2014]神奇化合物
输入输出 compound.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarop_组撒头屯 于2022-11-11加入
开放分组 全部用户
提交状态
分类标签
缩点 并查集
分享题解
通过:0, 提交:1, 通过率:0%
GravatarHXF 0 0.133 s 5.24 MiB C++
关于 神奇化合物 的近10条评论(全部评论)

3791. [SHOI2014]神奇化合物

★★★   输入文件:compound.in   输出文件:compound.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

科学家最近发现了一种高分子有机化合物 $SHTSC$。这种物质的分子由单个或多个原子组成,原子之间通过化学键相互连接。$SHTSC$ 十分不稳定,其原子之间的化学键经常会伴随着炫酷的声音特效和光影效果发生断裂或者重新连接。

然而,令科学家们大为惊异的是,$SHTSC$ 在变化过程中始终保持着一种特殊的性质:即不存在这样的原子序列 $a1,a2,…,an (n>3)$ 满足 $a_1$ 与 $a_2$、$a_2$ 与 $a_3$、......、$a_{n-1}$ 与 $a_n$ 以及 $a_n$ 与 $a_1$ 都通过化学键相连,但它们之间却没有其他化学键相连的情况。

现在科学家将 SHTSC 的原子由 $1$ 到 $n$ 标号,并告诉你 $SHTSC$ 的初始形态以及原子之间的化学键变化情况,他们想知道在实验过程中的某些时刻 $SHTSC$ 分裂成了多少个分子?

【输入格式】

第一行两个整数 $n,m$。表示 $SHTSC$ 的总原子个数以及初始的化学键数。

从第二行开始的 $m$ 行,每行两个整数 $a,b (1≤a,b≤n)$,表示编号为 $a,b$ 的两个原子在初始状态中有化学键相连。数据保证每对 $a,b$ 只出现一次。

第 $m+2$ 行有一个整数 $q$。表示实验的总操作数。

之后 $q$ 行中的每一行为以下三种操作当中的一种:

·$A$ $i$ $j$ 表示 $i$ 号原子与 $j$ 号原子之间形成了一条新的化学键;

·$D$ $i$ $j$ 表示 $i$ 号原子与 $j$ 号原子之间原有的化学键断裂了;

·$Q$ 询问当前 SHTSC 分裂成了多少个不同的分子。 数据保证所有的实验操作都是合法的。

【输出格式】

对于每个 $Q$ 操作,输出一行一个整数,为相应时刻的分子个数。

【样例输入】

7 10
1 2
2 3
3 4
4 1
1 3
2 4
5 6
6 7
7 5
2 5
10
Q
D 2 5
Q
D 5 6
D 5 7
Q
A 2 5
Q
A 5 6
Q

【样例输出】

1
2
3
2
1

【数据规模与约定】

对于$30\%$的数据,$n,q≤1000$。

对于$100\%$的数据,$n≤5000,m≤200000,q≤10000$。