來自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 在最小生成樹中,可以根據並查集來判斷連通性而通過最小生成樹 頂點數...