模板 並查集(洛谷P3367)

2022-09-02 13:42:05 字數 801 閱讀 5546

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

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

接下來m行,每行包含三個整數\(opt\)、\(a\)、\(b\)

當\(opt=1\)時,將\(a\)與\(b\)所在的集合合併

當\(opt=2\)時,輸出\(a\)與\(b\)是否在同一集合內,是的話輸出\(y\);否則話輸出\(n\)

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

路徑壓縮

#include#include#includeusing namespace std;

int n,m,f[10010],opt,x,y;

inline int read()

return ans;

}int find(int x)

int main()

else

}return 0;

}

按秩合併

#include#include#includeusing namespace std;

int n,m,f[100010],dep[100010],opt,x,y;

inline int read()

return ans;

}int find(int x)

int main()

} else

}return 0;

}

並查集模板 洛谷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 輸出格式 如上,對於每乙...