#P53. Classical Data Structure——Link Cut Tree
Classical Data Structure——Link Cut Tree
题目描述
在一幅有$N$个点,没有边的图中,我们可以执行$Q$次操作,操作如下:
$1$ $u$ $v$:增加一条连接$u$、$v$两点的无向边。
$2$ $u$ $v$:查询$u$、$v$两点是否在同一个连通块内,在同一个连通块内输出"YES",否则"NO"。
$3$ $u$:查询$u$点所在的连通块内有多少个节点。
输入格式
第一行,输入两个整数$N,Q(1≤N,Q≤5 \times 10^5)$。
接下去$Q$行,为操作,保证输入的操作合法,操作模式$1≤op≤3$,且输入的$u,v$满足$1≤u,v≤N$。
输出格式
对于每个查询操作,输出一行表示答案。如果操作为$2$,输出"YES"或者"NO";如果操作为$3$,输出一个正整数表示连通块内的节点数。
样例
5 7
1 1 2
1 3 4
2 2 3
1 2 4
2 2 3
3 5
3 2
NO
YES
1
4
来源
2022 HGNU-SWUT暑假联合集训