相關演算法
dinic演算法(最大流)
ek演算法(spfa)(費用流)
ek演算法(dij)(費用流)
預流推進(最大流)
上下限網路流模型
最大權閉合子圖(最大權閉包)
有向圖每個點都有乙個權值(可能含負權,不然這個這個問題就沒什麼意義了),求乙個權值和最大的閉合子圖。
解法:對於負權點,往t點連乙個容量為點權絕對值的邊。對於正權點,從s點連一條容量為點權的邊。原圖所有邊原樣連線,權值為inf。最後答案是全體正權和-最小割。於s相連的、不與t相連的邊是在子圖中的點。
常見的模型就是,對於一定花費,會有特定的收益。為最大收益是多少。
網路流輸出割集
(以下必須建無向邊)
在殘流圖上從s點dfs,所有能到達的點是s集,否則是t集。
在殘流圖上從t點dfs,所有能到達的點是t集,否則是s集。
這裡值得注意的是兩者所搜出的集合不一定相同!但是由此的兩種分割一定滿足最小割。
但是在殘流圖上不存在這麼乙個點:它既可以被s搜到,又可以被t搜到。因為這樣經過這個點還可以進行增廣路,殘流圖就不是最大流。只存在這樣點:它可以被s、t其中的乙個搜到,或者s、t都搜不到。而對於都搜不到的點。它既可以屬於s集,也可屬於t集。(如果不存在搜不到的點,最小割就是唯一的【 zoj 2587 】)
網路流關鍵割邊
(1)增加那些邊的容量可以讓最大流增大。
在殘流圖,從s、t點分別dfs一遍,分別染色。兩個端點橫跨兩個集合的邊是關鍵邊,關鍵邊一定是割邊。
(2)減少那些點的容量可以讓最大流減少(必須為無向圖)。
在殘流圖上跑tarjan強連通。兩端點在乙個聯通分量的邊是關鍵邊(也就是說二分圖找關鍵邊對於一般的圖來說同樣適用)
全域性最小割(沒用網路流)
全域性最小割是指,把乙個圖分成兩個不同聯通塊所需要的最小割集這有stoer wagne演算法。
/*
stoer_wagner演算法, 時間複雜度是o(n^3)
*/// 洛谷 p5632
const
int maxn =
550;
const
int inf =
1000000000
;int n, r;
int edge[maxn]
[maxn]
, dist[maxn]
;bool vis[maxn]
, bin[maxn]
;void
init()
intcontract
(int
&s,int
&t )
// 尋找 s,t
if(k ==-1
)return mincut;
s = t; t = k;
mincut = maxc;
vis[k]
=true
;for
(j =
1; j <= n; j++)if
(!bin[j]
&&!vis[j]
) dist[j]
+= edge[k]
[j];
}return mincut;
}int
stoer_wagner()
return mincut;
}int
main()
printf
("%d\n"
,stoer_wagner()
);}return0;
}
最小、最大權環完全覆蓋問題
給你乙個n個頂點m條邊的帶權有向圖,要你把該圖分成乙個或多個不相交的有向環。且所有定點都被有向環覆蓋。
將圖拆成4的點i0、i1、i2、i3。建邊, , 當原圖邊存在時, 建邊。最後在這個圖上跑最小費、最大費費用流。答案就是費用流答案。其中如果流量小於n。 是無解的。這個方法對無向圖也適用(建兩個邊即可)。
混和圖尤拉迴路
混合圖:乙個包含有向邊、無向邊的圖,求尤拉迴路
首先是對圖中的無向邊隨意定乙個方向,然後統計每個點的入度(indeg)和出度(outdeg),
如果(indeg - outdeg)是奇數的話,一定不存在尤拉迴路;此後:
1,對於有向邊,捨棄;
對於無向邊,就按照最開始指定的方向建權值為 1 的邊;
2,對於入度小於出度的點,從源點連一條到它的邊,權值為(outdeg - indeg)/2;
出度小於入度的點,連一條它到匯點的權值為(indeg - outdeg)/2 的邊;
構圖完成,如果滿流(求出的最大流值 == 和匯點所有連邊的權值之和),那麼存在尤拉迴路,否則不存在。殘留網路上,邊流大於0的即為無向邊定向的方向. 然後把每條定向的無向邊和原來輸入的有向邊建圖加起. 跑一次尤拉迴路即可。
網路流的相關定義
網路流的相關定義 通常可以把這些邊想象成道路,流量就是這條道路的車流量,容量就是道路可承受的最大的車流量。很顯然的,流量 容量。而對於每個不是源點和匯點的點來說,可以模擬的想象成沒有儲存功能的貨物的中轉站,所有 進入 他們的流量和等於所有從他本身 出去 的流量。求解思路 首先,假如所有邊上的流量都沒...
貝葉斯相關定理
定義1 設e是隨機事件,s是它的樣本空間。對於 e的每一事件a賦予 乙個實數,記為p a 稱為事件 a發生的概率。定義2設a,b 是兩個事件,且 p a 0 則稱p b a 2.1 條件概率公式 為在事件a 發生的條件下事件 b發生的條件概率。公式 2.1稱為條件概率公式。在條件概率基礎上有 乘法定...
ACM數論中相關定理(不斷更新)
費馬小定理是數論中的乙個重要定理,其內容為 假如p是質數,且 a,p 1,那麼 a p 1 1 mod p 即 假如a是整數,p是質數,且a,p互質,那麼a的 p 1 次方除以p的餘數恆等於1。費馬大定理,又被稱為 費馬最後的定理 由法國數學家費馬提出。它斷言當整數n 2時,關於x,y,z的方程 x...