单点时限: 4.0 sec
内存限制: 512 MB
给定 $n$ 个节点和 $m$ 个操作,每个操作可能为以下 $4$ 种之一:
初始时,每个节点(从 $1$ 开始编号)单独在一个集合中。
第一个两个数 $n,m$ 。
接下来 $m$ 行,每行一个操作。
对于所有2操作,输出1表示 $x$ 和 $y$ 在同一个集合中,否则输出0。
对于所有3操作,输出1个数表示集合大小。
2 4 1 1 2 2 1 2 4 2 3 1
1 1
对于$30\%$数据满足:$1 \leq n,m \leq 10^3$。
对于$50\%$数据满足:$1 \leq n,m \leq 10^6$,且没有4操作。
对于$70\%$数据满足:$1 \leq n,m \leq 10^6$,且操作4的个数小于$100$个。
对于$100\%$数据满足:$1 \leq n,m \leq 10^6,1 \leq x < y \leq n$。