並查集模板

2021-05-24 15:15:24 字數 1474 閱讀 7009

來自lifeng wang http://hi.baidu.com/fandywang_jlu

前輩06年寫的東西,追隨前人足跡繼續努力。

並查集的一些題目和相關解題報告:

poj 1611 the suspects

最基礎的並查集

poj 2524 ubiquitous religions

最基本的並查集

poj 1182 食物鏈

並查集的拓展

注意: 只有一組資料;

要充分利用題意所給條件:有三類動物a,b,c,這三類動物的食物鏈

構成了有趣的環形。a吃b, b吃c,c吃a。也就是說:只有三個group

poj 2492 a bug's life

並查集的拓展

法一:深度優先遍歷

每次遍歷記錄下該點是男還是女,只有:男-〉女,女-〉男滿足,否則,找到同性戀,結束程式。

法二:二分圖匹配

法三:並查集的拓展:和1182很像,只不過這裡就有兩組,而1182是三組,1611無限制

poj 1861 network == zju_1542

並查集+自定義排序+貪心求"最小生成樹"

答案不唯一,不過在zoj上用qsort()和sort()都能過,在poj上只有sort()才能過...

poj 1703 find them, catch them 並查集的拓展

這個和poj 2492 a bug's life

很像,就是把**稍微修改了一下就ac了!

注意:and of course, at least one of them belongs to gang dragon, and the same for gang snake. 就是說只有兩個組。

poj 2236 wireless network

並查集的應用

需要注意的地方:1、並查集;2、n的範圍,可以等於1001;3、從n+1行開始,第乙個輸入的可以是字串。

poj 1988 cube stacking

並查集很好的應用

1、與 銀河英雄傳說==noi2002 galaxy一樣;2、增加了乙個陣列behind[x],記錄戰艦x在列中的相對位置;3、詳細解題報告見銀河英雄傳說。

joj 1905 freckles

== poj 2560

最小生成樹

法一:prim演算法;法二:並查集實現kruskar演算法求最小生成樹

joj 1966 

super market iii

== pku 1456 

supermarket

帶限制的作業排序問題(貪心+並查集)

提高題目:

poj 2912 rochambeau

poj 1733 parity game    

poj 1308 is it a tree?

解決方法就是:當刪除乙個節點時,只需要新增乙個節點,以後再出現對該節點的操作時,對映成對新節點的操作(需要乙個對映表)

並查集模板

普通並查集 define max size 100005 int pa max size 儲存有向圖的邊 void init 初始化 該函式可以根據具體情況儲存和初始化需要的內容 int findset int a 不帶路勁壓縮 return a void union nodes int a,int...

並查集模板

codevs 2597 團夥 題目描述 description 1920年的芝加哥,出現了一群強盜。如果兩個強盜遇上了,那麼他們要麼是朋友,要麼是敵人。而且有一點是肯定的,就是 我朋友的朋友是我的朋友 我敵人的敵人也是我的朋友。兩個強盜是同一團夥的條件是當且僅當他們是朋友。現在給你一些關於強盜們的資...

並查集模板

2 17 演算法筆記 並查集是一種樹型的資料結構,用於處理一些不相交集合 disjoint sets 的合併及查詢問題。常常在使用中以森林來表示。其擁有如下特點 1,資料的聯通具有無向性,也就是說在合併子集和時,無向圖也只有一步 2 在最小生成樹中,可以根據並查集來判斷連通性而通過最小生成樹 頂點數...