二分图匹配——Hopcroft-Carp算法模板
来源:互联网 发布:淘宝开店保证金30元 编辑:程序博客网 时间:2024/06/06 02:48
typedef long long LL;using namespace std;const int maxn = 3010;const int INF = 0x3f3f3f3f;bool g[maxn][maxn];bool vis[maxn];int dx[maxn],dy[maxn];int Mx[maxn],My[maxn];int dis;int GM[maxn][2];int GN[maxn][2];int speed[maxn];double _time;int M,N;bool bfs(int n,int m){ dis = INF; memset(dx,-1,sizeof(dx)); memset(dy,-1,sizeof(dy)); queue <int> que; for(int i = 0; i < n; i++) { if(Mx[i] == -1) { que.push(i); dx[i] = 0; } } while(!que.empty()) { int u = que.front(); que.pop(); if(dx[u] > dis) break; for(int v = 0; v < m; v ++) { if(g[u][v] && dy[v] == -1) { dy[v] = dx[u] + 1; if(My[v] == -1) dis = dy[v]; else { dx[My[v]] = dy[v] + 1; que.push(My[v]); } } } } return dis != INF;}bool dfs(int u,int m){ for(int v = 0; v < m; v++) { if(g[u][v] && !vis[v] && dy[v] == dx[u] + 1) { vis[v] = true; if(My[v] != -1 && dy[v] == dis) continue; if(My[v] == -1 || dfs(My[v],m)) { My[v] = u; Mx[u] = v; return true; } } } return false;}int Max_match(int n,int m){ int all = 0; memset(Mx,-1,sizeof(Mx)); memset(My,-1,sizeof(My)); while(bfs(n,m)) { memset(vis,false,sizeof(vis)); for(int i = 0; i < n; i++) if(Mx[i] == -1 && dfs(i,m)) all++; } return all;}
阅读全文
0 0
- 二分图匹配——Hopcroft-Carp算法模板
- Hopcroft-Carp算法模板【二分图匹配】
- 二分图匹配Hopcroft-Carp算法介绍
- HDOJ 2389 - Hopcroft-Carp模板二分图最大匹配
- HDU 2389 Rain on your Parade (二分图匹配(Hopcroft-Carp的算法模板))
- 二分图匹配(Hopcroft-Carp的算法) 模版
- 二分匹配的Hopcroft-Carp算法
- 二分匹配的Hopcroft-Carp算法
- 二分匹配的Hopcroft-Carp算法
- hdoj 2389 二分图 Hopcroft-Carp 模板
- HDU 2389 Rain on your Parade(二分匹配+Hopcroft-Carp算法模板题)
- 【二分图匹配】Hopcroft-Karp算法模板
- hdu2389 Rain on your Parade(二分匹配hopcroft-carp算法)
- HDU2389_Rain on your Parade_二分图匹配::Hopcroft-Carp模板题
- SPOJ Fast Maximum Matching(二分图最大匹配Hopcroft-Carp)
- 二分图最大匹配算法-Hopcroft-Karp模板
- HDU2389 Rain on your Parade 二分匹配 Hopcroft-Carp的算法+模版
- hdu 2389 Rain on your Parade(二分匹配Hopcroft-Carp算法模版)
- stm32 DMA 配置 串口程序
- eclipse 与SQL server 之间的连接
- Centos7 普通用户使用 sudo
- php 缓存技术
- 51nod 1212 无向图最小生成树(prim)
- 二分图匹配——Hopcroft-Carp算法模板
- hdu4467 Graph(分段处理)
- dubbo
- D
- HDU 1754 I Hate It
- 每日英语阅读(六十九)
- 新技术的了解-spring boot中提及
- 新的新产品开发游戏–六个特征来提高企业创新竞争力
- [LeetCode]437. Path Sum III