洛谷 P3367 並查集 模板題

2022-07-15 18:51:12 字數 947 閱讀 4434

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

輸入格式:

第一行包含兩個整數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。

注意:並查集合並時要合併並查集的「根」。

注意使用遞迴進行路徑壓縮。

以下ac**: 645ms, 788kb

#include using

namespace

std;

const

int maxn = 10001

;int

n;int

p[maxn];

int ffind(int

x)void init(int

n)void uunion(int u, int

v)int

main()

else

if(cmd == 2

)

}return0;

}

並查集模板題 洛谷P3367

參照此部落格學習得 複雜 include include include include includeusing namespace std int n,m int que 10001 int dist 10001 sizee 10001 本題中其實用不到這兩個陣列,dist表示當前隊距離根的距離...

並查集模板 洛谷P3367

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

洛谷P3367 模板 並查集

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