標籤:des style blog http color io os 使用 ar
最短路問題 此類問題類型不多,變形較少
POJ 2449 Remmarguts‘ Date(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2449 題意:經典問題:K短路 解法:dijkstra+A*(rec),方法很多 相關:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144 該題亦放在搜尋推薦題中
POJ 3013 - Big Christmas Tree(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3013 題意:最簡單最短路,但此題要過,需要較好的程式速度和,還要注意精度 解法:Dijkstra
POJ 3463 - Sightseeing(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3463 題意:最短路和比最短路大1的路的數量 解法:需要真正理解dijkstra
POJ 3613 - Cow Relays(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=3613 題意:求經過N條邊的最短路 解法:floyd + 倍增,貪心
POJ 3621 - Sightseeing Cows(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3621 題意:求一個環路,歡樂值 / 總路徑最大 解法:參數搜尋 + 最短路(ms 原始的bellman tle, 用spfa才過)
POJ 3635 - full tank?(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3635 題意:最短路變形 解法:廣搜 相關:http://hi.baidu.com/hnu_reason/blog/item/086e3dccfc8cb21600e9286b.html
產生樹問題 基本的產生樹就不放上來了
POJ 1639 - Picnic Planning(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=1639 題意:頂點度數有限制的最小產生樹 解法:貪心 + prim/kruskal
POJ 1679 - The Unique MST(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1679 題意:判斷MST是否唯一 解法:prim就行,不過還是易錯的題
POJ 2728 - Desert King(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2728 題意:所謂最優比率產生樹 解法:參數搜尋 + prim
POJ 3164 - Command Network(難) http://acm.pku.edu.cn/JudgeOnline/problem?id=3164 題意:最小樹形圖 解法:劉朱演算法,這個考到的可能性比較小吧?
POJ 3522 - Slim Span(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3522 題意:求一顆產生樹,讓最大邊最小邊差值最小 解法:kruskal活用
連通性,度數,拓撲問題 此類問題主要牽扯到DFS,縮點等技巧
POJ 1236 - Network of Schools(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1236 題意:問添加多少邊可成為完全連通圖 解法:縮點,看度數
POJ 1659 - Frogs‘ Neighborhood(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1659 題意:根據度序列構造圖 解法:貪心,詳細證明參見havel定理
POJ 2553 - The Bottom of a Graph(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=2553 POJ 2186 - Popular Cows(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=2186 題意:強連通分量縮點圖出度為0的點
POJ 2762 - Going from u to v or from v to u?(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2762 題意:單向連通圖判定 解法:縮點 + dp找最長鏈
POJ 2914 - Minimum Cut(難) http://acm.pku.edu.cn/JudgeOnline/problem?id=2914 題意:無向圖最小割 解法:Stoer-Wagner演算法,用網路流加枚舉判定會掛
POJ 2942 - Knights of the Round Table(難) http://acm.pku.edu.cn/JudgeOnline/problem?id=2942 題意:求雙聯通分量(或稱塊)中是否含奇圈 解法:求出雙連通分量後做黑白染色進行二分圖圖判定 相關:http://hi.baidu.com/zfy0701/blog/item/57ada7ed104ce9d2b31cb104.html
POJ 3177 - Redundant Paths(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3177
POJ 3352 - Road Construction(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3352 題意:添加多少條邊可成為雙向連通圖 解法:把割邊分開的不同分量縮點構樹,看入度 建議對比下1236,有向圖添加多少條邊變成強連通圖
POJ 3249 - Test for Job(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3249 解法:bfs / dfs + dp
POJ 3592 - Instantaneous Transference(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3592 解法:縮點,最長路,少人做的水題,注意細節
POJ 3687 - Labeling Balls(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3687 解法:拓撲排序
POJ 3694 - Network(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3694 解法:雙連通分量+並查集
2-SAT問題 此類問題理解合取式的含義就不難
POJ 2723 - Get Luffy Out(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2723 POJ 2749 - Building roads(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=2749 解法:二分 + 2-SAT判定
POJ 3207 - Ikki‘s Story IV - Panda‘s Trick(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3207解法:簡單的2-sat,不過其他方法更快
POJ 3648- Wedding(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3648 解法:用2-sat做會比較有意思,但是暴搜照樣0ms
POJ 3678 - Katu Puzzle(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3678 解法:直接按合取式構圖驗證就行了
POJ 3683 - Priest John‘s Busiest Day(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3683 解法:n^2枚舉點之間的相容性構圖,求解2-SAT
最大流問題 變形很多,最小割最大流定理的理解是關鍵
POJ 1149 - PIGS(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=1149 絕對經典的構圖題
POJ 1273 - Drainage Ditches(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1273 最大流入門
POJ 1459 - Power Network(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1459 基本構圖
POJ 1637 - Sightseeing tour(Crazy) http://acm.pku.edu.cn/JudgeOnline/problem?id=1637 題意:求混合圖的歐拉跡是否存在 解法:無向邊任意定向,構圖,詳建黑書P324
POJ 1815 - Friendship(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=1815 題意:求最小點割 解法:拆點轉換為邊割 相關:http://hi.baidu.com/zfy0701/blog/item/a521f230b06dea9fa9018e0e.html
POJ 1966 - Cable TV Network(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=1966 題意:去掉多少點讓圖不連通 解法:任定一源點,枚舉匯點求點割集(轉換到求邊割),求其中最小的點割
POJ 2112 - Optimal Milking(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=2112 二分枚舉,最大流
POJ 2391 - Ombrophobic Bovines(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2391 題意:floyd, 拆點,二分枚舉 相關:http://hi.baidu.com/zfy0701/blog/item/3e0006c4f73f0eaf8226acff.html
POJ 2396 - Budget(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2396 題意:有源匯的上下界可行流 解法:用矩陣-網路流模型構圖,然後拆邊 相關:http://hi.baidu.com/zfy0701/blog/item/6449d82a64e15e3e5343c1ba.html ,最小割模型在競賽中的應用
POJ 2455 - Secret Milking Machine(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=2455 二分枚舉,一般來說需要寫對邊容量的更新操作而不是每次全部重新構圖
POJ 2699 - The Maximum Number of Strong Kings(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=2699 解法:枚舉人數 + 最大流(感謝xpcnq_71大牛的建圖的提示)
POJ 2987 - Firing(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=2987 題意:最大權閉包 解法:先邊權放大,第一問總量-最大流,第二問求最小割 相關:http://wywcgs.spaces.live.com/blog/cns!4D861A02A3382142!1109.entry?&_c02_owner=1 Profit(中等) http://www.vijos.cn/Problem_Show.asp?id=1352 最大權閉包圖的特殊情況 ZOJ 2071 - Technology Trader 也是此類型,懶了沒做 http://acm.zju.edu.cn/show_problem.php?pid=2071
POJ 3084 - Panic Room(中等,好題) http://acm.pku.edu.cn/JudgeOnline/problem?id=3084 題意:略 解法:根據最小割建模
POJ 3155 - Hard Life(很挑戰一題) http://acm.pku.edu.cn/JudgeOnline/problem?id=3155 題意:最大密度子圖 解法:參數搜尋 + 最大權閉合圖,A.V.Goldberg的論文(nb解法) 最小割模型在資訊學競賽中的應用 一文中也有講
POJ 3189 - Steady Cow Assignment(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3189 題意:尋找最小的區間完成匹配 解法:這題充分說明SAP的強大,純暴力可過。更好的方法是在枚舉區間的過程中不斷刪邊和加邊繼續網路流過程
POJ 3204 - Ikki‘s Story I - Road Reconstruction(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3204
ZOJ 2532 - Internship(基礎) http://acm.zju.edu.cn/show_problem.php?pid=2532 題意:確定邊是否是某個割中的邊 解法:兩邊dfs求割, 或暴力枚舉(需要寫取消某條增廣路的操作(但資料弱,也許不取消也能混過))
POJ 3308 - Paratroopers(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=3308 POJ 2125 - Destroying The Graph(難) http://acm.pku.edu.cn/JudgeOnline/problem?id=2125 題意:最小點權覆蓋
POJ 3469 - Dual Core CPU(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3469 題意:最小割
POJ 3498 - March of the Penguins(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3498 題意:滿足點容量限制的網路流 解法:拆點把點容量轉換為邊容量,枚舉匯點
ZOJ 2587 - Unique Attack(較難) http://acm.zju.edu.cn/show_problem.php?pid=2587 題意:確定最小割是否是唯一的 解法:得理解dfs求最小割演算法的本質
SPOJ 839 - Optimal Marks(難) http://www.spoj.pl/problems/OPTM/ 題意:略 解法:很經典哦,見amber的集訓隊論文,根據標號的每一位求最小割
SGU 326 - Perspective(中等) http://acm.sgu.ru/problem.php?contest=0&problem=326 比較經典的構圖法
費用流問題 可以KM解的就不放在這裡,另外,感覺除非很特殊的圖,一般用連續增廣路的演算法就夠了
POJ 2175 - Evacuation Plan(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2175 題意:判斷是否給定解是最優解,比較陰的一題 解法:根據給出的計劃構造流,然後消且只消一次負圈
POJ 3422 - Kaka‘s Matrix Travels(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=3422 題意:略 解法:拆點
POJ 3680 - Intervals(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=3680 題意:略,這題還是蠻經典 解法:discuss中比較詳細
SPOJ 371 - Boxes(簡單) http://www.spoj.pl/problems/BOXES/ 題意:略 解法:費用流,但似乎有比網路流更好的做法
SGU 185 - Two shortest(中等) http://acm.sgu.ru/problem.php?contest=0&problem=185 題意:求兩條不想交的最短路徑 解法:費用流,也可以最短路 + 最大流。
匹配問題 正確理解KM演算法是很重要的
這裡我還要說幾句:最正確解最小權匹配的辦法是用一個很大的數-當前邊權值,而不是直接對邊權取反(這樣只能處理左右點相等的完全二分圖,即K(n, n)
以上有可能還是說的有點問題,以後補充
POJ 1486 - Sorting Slides(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=1486 題意:二分圖的必須邊 解法:需正真理解最大匹配演算法,詳見http://hi.baidu.com/kevin0602/blog/item/1d5be63b5bec9bec14cecb44.html
POJ 1904 - King‘s Quest(中等,好題) http://acm.pku.edu.cn/JudgeOnline/problem?id=1904 題意:求二分圖所有可能的匹配邊 解法:雖然最終不是用匹配演算法,但需要理解匹配的思想轉換成強連通分量問題。
POJ 2060 -Taxi Cab Scheme(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=2060 題意:最小路徑覆蓋
POJ 2594 -Treasure Exploration(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2594 題意:可相交最小路徑覆蓋 解法:先傳遞閉包轉化下
POJ 3041 - Asteroids(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=3041 POJ 2226 - Muddy Fields(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=2226 題意:行列的覆蓋 解法:最小點集覆蓋 = 最大匹配
POJ 2195 - Going Home(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=2195 題意:最小權值匹配 解法:KM演算法
POJ 2400 - Supervisor, Supervisee(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2400 題意:輸出所有最小權匹配 解法:KM, 然後回溯解,汗,輸入的兩個矩陣居然是反過來的
POJ 2516 -Minimum Cost(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2516 題意:最小權值匹配或最小費用流 解法:拆點 + KM演算法(只有正確的才能過),費用流(ms錯的可能也能過)
POJ 3686 - The Windy‘s(較難) http://acm.pku.edu.cn/JudgeOnline/problem?id=3686 題意:最小權值匹配 解法:拆點,然後儘管用KM演算法去水吧,資料其實弱得不得了 O(50 * 50 * 2500) -> 16ms 相關:http://hi.baidu.com/kevin0602/blog/item/2829dc01d7143b087bec2c97.html
SPOJ 412 - K-path cover(較難) https://www.spoj.pl/problems/COVER/ 題意:略 解法:很牛叉的一道匹配 相關:http://hi.baidu.com/roba/blog/item/c842fdfac10d24dcb48f31d7.html
SGU 206. Roads(較難) http://acm.sgu.ru/problem.php?contest=0&problem=206 解法:經典題目,也可以使用spoj 412那題的最佳化
NP問題 一般是搜尋或dp解的
POJ 1419 - Graph Coloring(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1419 題意:圖的著色 解法:搜尋,可惜題目的資料真是太弱了
POJ 2989 - All Friends(難) http://acm.pku.edu.cn/JudgeOnline/problem?id=2989 題意:極大團數量 解法:開始狂tle, 後來找了論文:Finding All Cliques of an Undirected Graph(Coen Bron & Joep Kerboscht)
ZOJ 1492 - Maximum Clique(基礎) http://acm.zju.edu.cn/show_problem.php?pid=1492 題意:圖的最大團 解法:搜尋,如果要求速度,可參考下相應論文
其他 不能成大類的
POJ 1470 - Closest Common Ancestors(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1470 題意:LCA問題 解法:tarjan或RMQ,另外輸入很噁心
POJ 1985 - Cow Marathon(基礎) http://acm.pku.edu.cn/JudgeOnline/problem?id=1985 題意:樹上的最長路徑 解法:dp
POJ 1986 - Distance Queries(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=1986 題意:LCA 解法:tarjan或RMQ
HOJ 11192 - Justice League(有趣的圖論) http://acm.hnu.cn:8080/online/?action=problem&type=show&id=11192&courseid=99
HOJ 11277 - New Island(有趣的圖論) http://acm.hnu.cn:8080/online/?action=problem&type=show&id=11277&courseid=109
【轉】一些圖論、網路流入門題總結、匯總