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}_i は i 回目のクエリの情報を表します。
クエリ 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