P3367 並查集(入門模板題)(詳解)

2021-10-18 22:46:11 字數 896 閱讀 2656

如題,現在有乙個並查集,你需要完成合併和查詢操作。

第一行包含兩個整數 n, m,表示共有 n 個元素和 m 個操作。

接下來 m 行,每行包含三個整數 zi,xi,yi。

當 zi = 1時,將 xi 與 yi 所在的集合合併。

當 zi = 2時,輸出 xi 與 yi 是否在同一集合內,是的輸出 y ;否則輸出 n 。

對於每乙個 zi = 2的操作,都有一行輸出,每行包含乙個大寫字母,為 y 或者 n 。

輸入 #1

4 72 1 2

1 1 2

2 1 2

1 3 4

2 1 4

1 2 3

2 1 4

輸出 #1ny

ny對於 30% 的資料,n ≤ 10,m ≤ 20 。

對於 70% 的資料,n ≤ 100,m ≤ 103。

對於 100% 的資料,1 ≤ n ≤ 104,1 ≤ m ≤ 2 ×105。

(函式詳解)

#include

const

int maxn =

1e4+5;

int f[maxn]

, h[maxn]

;int n, m, z, x, y;

void

init()

}int

find

(int x)

void

merge

(int a,

int b)

else

}int

main()

else

if(z==2)

}return0;

}

並查集模板題 P3367 模板 並查集

如題,現在有乙個並查集,你需要完成合併和查詢操作。第一行包含兩個整數n m,表示共有n個元素和m個操作。接下來m行,每行包含三個整數zi xi yi 當zi 1時,將xi與yi所在的集合合併 當zi 2時,輸出xi與yi是否在同一集合內,是的話輸出y 否則話輸出n 如上,對於每乙個zi 2的操作,都...

P3367 模板 並查集

題目描述 如題,現在有乙個並查集,你需要完成合併和查詢操作。輸入格式 第一行包含兩個整數 n,m 表示共有 n 個元素和 m 個操作。接下來 m 行,每行包含三個整數 zi,xi,yi。當 zi 1 時,將 xi與 yi所在的集合合併。當 zi 2 時,輸出 xi與 yi是否在同一集合內,是的輸出 ...

P3367 模板 並查集

如題,現在有乙個並查集,你需要完成合併和查詢操作。輸入格式 第一行包含兩個整數n m,表示共有n個元素和m個操作。接下來m行,每行包含三個整數zi xi yi 當zi 1時,將xi與yi所在的集合合併 當zi 2時,輸出xi與yi是否在同一集合內,是的話輸出y 否則話輸出n 輸出格式 如上,對於每乙...