二分图匹配实例代码及整理

这篇文章主要介绍了二分图匹配实例代码及整理的相关资料,这里提供了三种方法包括匈牙利算法,KM算法,多重匹配,需要的朋友可以参考下

二分图匹配实例代码及整理

1、匈牙利算法

HDU 1150

 #include #include #include using namespace std; int m,n,k; int vis[105]; int mpt[105][105]; int use[105]; int hungary(int x) { for(int i=1;i


2、KM算法

HDU 2255

看了很多资料都还不是很懂、、先贴别人的模板

 #include #include #include #include #include using namespace std; #define N 310 int map[N][N]; bool visitx[N], visity[N]; int lx[N], ly[N]; int match[N]; int n; bool Hungary(int u) //匈牙利算法 { visitx[u] = true; for(int i = 0; i  lx[j] + ly[k] - map[j][k]) temp = lx[j] + ly[k] - map[j][k]; for(int j = 0; j 

3、多重匹配

HDU  3605 Escape

 #include #include #include using namespace std; int n,m; int num[15]; int mpt[100005][15]; int vis[15]; int use[15]; int dp[15][100005]; int hungary(int x) { for(int i=1;i<=m;i++) { if(vis[i]==0&&mpt[x][i]==1) { vis[i]=1; if(use[i]

以上就是二分图匹配的实现代码,如有疑问请留言,或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上就是二分图匹配实例代码及整理的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » C语言