朋友 並查集的刪除操作 可看作是插入操作的逆序

2022-08-29 00:39:19 字數 745 閱讀 9554

小 z 被選為他們村的村長, 現在小 z 調查他們村上的關係。 如果村民 a 和村

民 b 是朋友, 村民 b 和村民 c 是朋友, 那麼村民 a 和村民 c 也是朋友。 那麼村上

的村民就會形成乙個「朋友」 團隊, 現在小 z 想知道他們村長有多少個這樣的團

隊。 同時, 他們村會有人離開村子到城裡謀求發展, 那麼小 z 也想知道, 當他們

離開後村上的「朋友」 團隊。

★資料輸入

輸入第一行包括兩個整數, n, m。 n 表示一共有 n 個人, m 表示乙個共有

m 對關係。 村民的編號分別為 0~n-1。 接下來 m 行, 每行兩個數 u, v, 表示村

民 u 和村民 v 有關係。 接著輸入一行乙個整數 q, 表示 q 組詢問, 接下來一行 q

個數分別表示離開的 q 個人的編號。

★資料輸出

輸出一開始有多少個「朋友」 團隊, 以及對於每個村民的離開, 輸出剩下的

「朋友」 團隊。

輸入示例

輸出示例

8 13

0 11 6

6 55 0

0 61 2

2 33 4

4 57 1

7 27 6

3 651

6 3 5 7

111233

★資料範圍

70%資料 n<=500,m<=1000,q<=500

100%資料 n<=10000,m<=50000,q<=10000

並查集 並查集的刪除操作

描述 一天小 w 給學弟們上課,小 w 說 注意了,並查集只適合於加的操作,不太方便處理減的操作喲。j 老師聽了後,呵呵了一下。她課後找到小 w 說,其實並查集也可以做減的操作的。只看你如何靈活運用了。比如這個題 給你 n 個元素,最開始時分屬於 n 個集合,有如下三種操作 小 w 陷入了無盡的思考...

並查集的刪除操作

對於刪除操作,在完美的並查集中 所有節點都直接連線在根節點上 理論上只要把要刪除的節點的上級重新指向自己就可以了。但是實際情況中,我們的並查集形成的樹的形態都是不可預估形態的,如果直接將乙個節點指向自己可能會將他的 下級 和他一起刪除,這就和我們的想法違背了。所以在乙個需要刪除的並查集中初始化時就要...

並查集的刪除操作

題目大意 有n個集合,提供三種操作 1 p q 將p所在的集合和q所在的集合並起來 2 p q 將p元素移到集合q所在的集合 3 p 求出p所在集合有多少個元素並輸出這些元素的和 sample input 5 71 1 2 集合1與2合併 集合操作 2 3 4 元素3放到元素4所在的集合中 1 3 ...