並查集初學 圍巾的糾結

2021-07-11 01:24:19 字數 1074 閱讀 5944

圍巾的糾結

description

小破想要織一條圍巾,可是她並不擅長於織圍巾。由於工作太忙,每天她都只能織一點。為了快速的織完圍巾,她決定直接把毛線球連在一起。圍巾上有球球還是非常可愛的嘛~

於是小破去商店買了n個毛線球。每天晚上睡覺之前,她就抽出一點時間,把其中兩個原本分開的毛線球織在一起。由於是睡覺之前幹活,人太困了,過了m天之後,她發現自己完全織亂了,於是她決定拆掉重織。可是由於她的織法過於特殊,她發現,一旦幾個毛線球被織成了乙個圈,就不能完好的解開了。現在她想知道,她還能把這條"圍巾"還原嗎?
input

多組測試資料

每組測試資料第一行有兩個整數n,m(1 <= n <= 10000, 1 <= m <= 1000000)

接下來有m行,每行有兩個數a,b,表示將a和b號毛球織到一起。

output

對於每組測試資料,如果她能還原,則輸出」yes」, 否則輸出」no」

sample input

5 4

1 2

2 3

3 1

1 4

5 4

1 2

2 3

3 4

4 5sample output

no yes

#include

int father[10005];

int v1[1000005],v2[1000005];

int m,n;

void chuhua()

}int getfather(int x)

father[x]=a;

return father[x];

}void mix(int x,int y)

}int main()

for(i=0;iif(getfather(v1[i])==getfather(v2[i]))

mix(v1[i],v2[i]);

}if(p==0)

else

}return

0;}

題目傳送門:圍巾的糾結ieee點此可交題

初學並查集 並查集1

現在,我是用乙個初學者的眼光來寫並查集,此文最初寫於我學並查集的那天,後經過多次修改。1 並查集是什麼 並查集是乙個具有多個連通分支的圖,他擁有合併兩個連通分支,和查詢兩個元素是否位於同乙個連通分支的功能。2 並查集的簡單應用 並查集解決什麼問題 假如有一些點,你知道哪些點是直接相連的,但實際上間接...

並查集初學

並查集是一種樹型的資料結構,用於處理一些不相交集合的合併及查詢問題。並查集的思想是用乙個陣列表示了整片森林 parent 樹的根節點唯一標識了乙個集合,我們只要找到了某個元素的的樹根,就能確定它在哪個集合裡。並查集用在一些有 n 個元素的集合應用問題中,我們通常是在開始時讓每個元素構成乙個單元素的集...

並查集初學(1)

出處 github 並查集 union find sets 是一種非常精巧而實用的資料結構,它主要用於處理一些不相交集合的合併問題。一些常見的用途有求連通子圖 求最小生成樹的 kruskal 演算法和求最近公共祖先 least common ancestors,lca 等。使用並查集時,首先會存在一...