U605441 【模板】可撤销并查集

题目背景

本题无数据点配置,仅用于展示题面。

题目描述

如题,现在有一个可撤销并查集,你需要完成合并、查询和撤销操作。

输入格式

第一行包含两个整数 $N,M$ ,表示共有 $N$ 个元素和 $M$ 个操作。 接下来 $M$ 行,每行包含三个整数 $Z_i,X_i,Y_i$ 。 当 $Z_i=1$ 时,将 $X_i$ 与 $Y_i$ 所在的集合合并。 当 $Z_i=2$ 时,输出 $X_i$ 与 $Y_i$ 是否在同一集合内,是的输出 `Y` ;否则输出 `N` 。 当 $Z_i=3$ 时,撤销上一次合并操作。(忽略 $X_i$,$Y_i$。)

输出格式

对于每一个 $Z_i=2$ 的操作,都有一行输出,每行包含一个大写字母,为 `Y` 或者 `N` 。

说明/提示

对于 $15\%$ 的数据,$N \le 10$,$M \le 20$。 对于 $35\%$ 的数据,$N \le 100$,$M \le 10^3$。 对于 $50\%$ 的数据,$1\le N \le 10^4$,$1\le M \le 2\times 10^5$。 对于 $100\%$ 的数据,$1\le N\le 2\times 10^5$,$1\le M\le 10^6$,$1 \le X_i, Y_i \le N$,$Z_i \in \{ 1, 2,3 \}$。