圖論(Graph Theory)
由於以下內容自己並不熟悉,因此並未完成,相關內容會陸續補充。
1.連通性
2.二分圖
3.網絡流
二分圖:
二分圖又稱作二部圖,是圖論中的一種特殊模型。 設G=(V,E)是一個無向圖,如果頂點V可分割爲兩個互不相交的子集(A,B),並且圖中的每條邊(i,j)所關聯的兩個頂點i和j分別屬於這兩個不同的頂點集(i in A,j in B),則稱圖G爲一個二分圖。 —— [ 百度百科 ]
二分圖判定:
·黑白染色,不含奇圈(點可以分成左右兩部,每一部內無邊)
最大匹配
【任意兩條邊都沒有公共端點】的邊的集合成爲圖的匹配
·增廣路算法(匈牙利算法)
依次考慮每個左部未匹配點,尋找一個右部點與之匹配。
- 一個右部點能與之匹配,需要滿足以下兩個條件之一:
- 1.改點是未匹配點:此時直接匹配
- 2.從與該節點匹配的左部點出發,找到匹配點:此時遞歸進入該左部點,爲其尋找右部點。
Augmenting path algorithm 演示
Code:
這裏寫代碼片
例題:Tyvj 1935
增廣路的性質:
最小點覆蓋
構造方法:
1.求出最大匹配
2.從右部每個未匹配點出發尋找增廣路(一定失敗),標記訪問過的節點
3.取左部標記點、右部未標記點,構成一組最小覆蓋
柯尼希【König】定理:最小覆蓋=最大匹配
- 證明
- 1.一對匹配點都被標記或者都未標記——因爲左部匹配點只能通過右部到達
取左右爲標記點,恰好是的每對匹配點都被取走一個 <數值相等>
2.匹配邊一定被覆蓋,不存在連接兩個未匹配點的邊,連接左部匹配點和右部匹配點的邊後者是
例題:POJ1325 / POJ2226
最大獨立集
任意兩點在圖中都沒有邊相連的點集稱爲圖的獨立集
定理:二分圖最大獨立集=圖的點數-二分圖的最大匹配
證明:選出最多的點構成獨立集
例題:HEOI2012
最小路徑覆蓋
用盡量少的不相交簡單路徑覆蓋有向無環圖的所有頂點
把原圖中的每個點拆成二分圖中左右、兩個點:
對於每條有向邊(u,v),從u的左部點(成爲出點)向v的右部點(稱爲入點)有一條有向邊
- 最小路徑覆蓋數=原有向圖節點數-新二分圖最大匹配數
- and..
- 有向圖路徑上的每條邊 對應 二分圖匹配中的一條匹配邊
- 有向圖路徑上每條邊的出點 對應 二分圖匹配邊的左部點
例題:POJ1622 / POJ2594