poj 3692
view code
1poj 3041(dfs 模版)//poj36922//
匈牙利演算法,二分圖的最大匹配3//
最大完全數:最大完全子圖中頂點的個數 最大完全數=原圖的補圖的最大獨立數
45 #include 6 #include 7 #include 8
9using
namespace
std;
1011
#define maxn 210
1213
intnx,ny;
14bool
vis[maxn];
15int
map[maxn][maxn];
16int link[maxn];//
第y個點與第x相連
1718
bool dfs(int x)//
尋找增廣路
1930}31
}32return
false;33
}3435void
maxmatch()
3645 printf("
%d\n
",nx+ny-ans);46}
4748
intmain()
4962 printf("
case %d:
",cas++);
63maxmatch();64}
65return0;
66 }
view code
1//最壞時間複雜度是o(n^3)
2 #include3 #include4 #include5
6using
namespace
std;78
#define maxn 505910
intn,m;
11bool
vis[maxn];
12int
map[maxn][maxn];
13int
link[maxn];
14bool can(int
t)1526}
27}28return
false;29
}3031void
maxmatch()
3241 printf("
%d\n
",ans);42}
4344
intmain()
4555
maxmatch();56}
57return0;
58 }
匈牙利演算法
匈牙利演算法 edmonds演算法 步聚 1 首先用 標記x中所有的非m頂點,然後交替進行步驟 2 3 2 選取乙個剛標記 用 或在步驟 3 中用 yi 標記 過的x中頂點,例如頂點xi,如果xi與y為同一非匹配邊的兩端點,且在本步驟中y尚未被標記過,則用 xi 去標記y中頂點y。重複步驟 2 直至...
匈牙利演算法
匈牙利演算法用來解決二分圖的最大匹配問題。乙個典型的最大匹配問題的描述如下 乙個公司有n項工作,m個員工。每個員工能勝任n項工作中的幾項 0 n 工作。問題是,如何分配才能使得被處理的工作數最大。當然,如果公司裡人員很多,每項工作都有很多員工可以勝任,那麼使每項工作都有人處理的方案是顯而易見的。但遇...
匈牙利演算法
二分圖匹配的演算法,二分圖就是把圖上的點分成兩個互不相交的點集,而圖中的邊的端點只能分別屬於這兩個點集.二分圖的匹配,就是婚配問題,左邊的點集男性,右邊的點集女性,然後相互配對 一夫一妻 最大匹配就是讓好事最多.匈牙利演算法可以實現這個東西.匈牙利演算法怎麼實現的這個東西.這個比較多.如下 incl...