洛谷 P3367 模板 並查集

2022-04-30 06:24:07 字數 1002 閱讀 2945

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

輸入格式:

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

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

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

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

輸出格式:

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

輸入樣例#1:

4 7

2 1 2

1 1 2

2 1 2

1 3 4

2 1 4

1 2 3

2 1 4

輸出樣例#1:

nyn

y

時空限制:1000ms,128m

資料規模:

對於30%的資料,n<=10,m<=20;

對於70%的資料,n<=100,m<=1000;

對於100%的資料,n<=10000,m<=200000。

1 #include2 #include3 #include4

5using

namespace

std;

6const

int n=10001;7

8int

f[n];

910 inline void read(int &x)

1117 inline int find(int

x)18

2324 inline void un(int x,int

y)25

3031

intmain()

3246

if(z==2)47

52else

5356}57

}58 }

並查集模板 洛谷P3367

並查集是一種樹型的資料結構,用於處理一些不相交集合 disjoint sets 的合併及查詢問題。常常在使用中以森林來表示。集就是讓每個元素構成乙個單元素的集合,也就是按一定順序將屬於同一組的元素所在的集合合併。初始化 把每個點所在集合初始化為其自身。通常來說,這個步驟在每次使用該資料結構時只需要執...

洛谷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是否在同一集合內,是的話輸出y 否則話輸出n 輸出格式 如上,對於每乙...