如果一張圖的點集可以被分割成兩個點集,且在同個點集的任兩點沒有連邊,我們就叫這張圖為二分圖
等價:
這張圖是2-colorable
這張圖不存在奇環
dfs塗色看是不是2-colorable
定義:一個匹配是圖的一個邊集\(M\),
使得任兩條\(M\)中的邊沒有共同頂點
有擴充路徑->我們可以找到更大的匹配
去看\(M\)和\(M'\)的對稱差構出的圖\(H\),
\(H\)上每個點deg都\(\leq 2\)
=>\(H\)是一些環和路徑
=>其中只有擴增路徑會讓\(M'\)贏
=>大爆炸
bool vis[MAXN];
int match[MAXN];
vector<int> e[MAXN];
bool dfs(int now){
vis[now]=1;
for(auto x:e[now]){
if(match[x]==0||(!vis[match[x]]&&dfs(match[x]))){
match[x]=now;
match[now]=x;
return 1;
}
}
return 0;
}一張二分圖有\(X\)-完美匹配若且唯若\(\forall S\subset X\),\(|N(S)|\geq|S|\)
(=>)隨意
(<=) 開心數歸,分存在一個 \(S\subset X,|N(S)|=|S| \)(就可以把這些人抓出來) 和其他
有用到hall的oi題:暴雷
對任意二分圖\(G\),其最大匹配的大小等於其最小點覆蓋的大小:
(\(\leq\))每個匹配邊都至少需要一個點來覆蓋
(\(\geq\))我們構造一個大小和最大匹配一樣大的點覆蓋:
設\(X\)中所有未被匹配的人可以走交錯路徑到的地方為\(S\),選\((X\setminus S)\cup(Y\cap S) \),要驗他真的是點覆蓋還有他大小真的和最大匹配一樣大
最大權最大匹配->最大權匹配?
最大權匹配->最大權最大匹配?
在\(K_{n,n}\)中求最大權完美匹配
我們將每個點標上一個值\(l(v)\)讓任意邊\(e=(u,v)\)有\[l(u)+l(v)\geq w(e)\]
發現到頂標和\(\geq\)任何完美匹配權重和
任何合法頂標和\(\geq\)最大完美匹配權重和
想要找到一種緊邊完美匹配:
那我們從\(v\)(假設\(v\in X\))開始走了一個交錯樹
設走到的是\(S_X\)和\(S_Y\)
要能有擴充路徑就得要有邊在\(S_X\)和\(Y\setminus S_Y\)
把這些邊抓出來算\(\min(l(u)+l(v)-w(e))=\delta\)
把\(S_X\)的頂標\(-\delta\),\(S_Y\)的頂標\(+\delta\)
所以我們來看酷東西
\(T(G)_{i,j}=0 \)若沒有\((v_i,v_j)\)這條邊
\(=x_{i,j}\)若有\((v_i,v_j)\)這條邊且\(i<j\)
\(=-x_{i,j}\)若有\((v_i,v_j)\)這條邊且\(j<i\)
只有偶環覆蓋有用
講師太笨還不會
你們自己go