A66 - Connect Query Editorial /

Time Limit: 1 sec / Memory Limit: 1024 MB

配点: 1000

問題文

頂点数 N のグラフに対して、以下の 2 種類のクエリを高速に処理してください。

  • クエリ 1:頂点 u と頂点 v を双方向に結ぶ辺を追加する。
  • クエリ 2:頂点 u と頂点 v は同じ連結成分に属するかを答える。

ただし、最初はグラフに辺が一本もなく、与えられるクエリの数は Q 個であるとします。

制約

  • 2 \leq N \leq 100000
  • 1 \leq Q \leq 100000
  • \operatorname{Query}_i\ (1\leq i\leq Q) はすべて t_i u_i v_i の形式
  • t_i \in \{1,2\}\ (1\leq i\leq Q)
  • 1 \leq u_i \lt v_i \leq N\ (1\leq i\leq Q)
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられます。

N Q
\operatorname{Query}_1
\operatorname{Query}_2
\vdots
\operatorname{Query}_Q

\operatorname{Query}_ii 回目のクエリの情報を表します。 クエリ 1 の場合は 1 u v、クエリ 2 の場合は 2 u v という形式で与えられます。 詳しくは入力例をご覧ください。

出力

クエリ 2 の答えを、順番に出力してください。


入力例 1

3 4
1 1 2
2 1 3
1 2 3
2 2 3

出力例 1

No
Yes

クエリ 1 の結果、グラフは次のように変化します。


入力例 2

12 12
2 9 11
1 1 7
1 1 4
2 3 6
1 3 5
2 3 5
1 10 12
1 4 8
1 8 11
2 10 12
1 5 9
2 6 8

出力例 2

No
No
Yes
Yes
No