如題,現在有乙個並查集,你需要完成合併和查詢操作。
輸入格式:
第一行包含兩個整數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
輸出樣例#1:
nyny
時空限制:1000ms,128m
資料規模:
對於30%的資料,n<=10,m<=20;
對於70%的資料,n<=100,m<=1000;
對於100%的資料,n<=10000,m<=200000。
注意:並查集合並時要合併並查集的「根」。
注意使用遞迴進行路徑壓縮。
以下ac**: 645ms, 788kb
#include usingnamespace
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的操作,都...