二分图匹配模板
2015-08-11 10:36
471 查看
基本的二分图匹配问题可以看这里
http://blog.csdn.net/tlonline/article/details/47403637
二分图匹配模板基于最大流问题,利用所有边的容量都是1,以及二分图的性质,我们可以向下面这样,把二分图最大匹配这样实现。
http://blog.csdn.net/tlonline/article/details/47403637
二分图匹配模板基于最大流问题,利用所有边的容量都是1,以及二分图的性质,我们可以向下面这样,把二分图最大匹配这样实现。
int V; //顶点数 vector<int> G[MAXV]; //图的邻接表表示 int match[MAXV]; //匹配的顶点 bool used[MAXV]; //DFS中用到的访问标记 //向图中增加一条连接u和v的边 void add_edge(int u,int v) { G[u].push_back(v); G[v].push_back(u); } //通过dfs寻找增广路径 bool dfs(int v) { used[v] = true; for(int i = 0; i <= G[v].size(); i++) { int u = G[v][i], w = match[u]; if(w < 0 || (!used[w] && dfs(w))) { match[v] = u; match[u] = v; return true; } } return false; } //求解二分图最大匹配 int bipartite_matching() { int res = 0; memset(match,-1,sizeof match); for(int v = 0 ; v < V; v++) { if(match[v]<0) { memset(used,0,sizeof used); if (dfs(v)) res++; } } return res; }
相关文章推荐
- 社説 20150811 日航機墜落30年 安全運航への誓いを新たに
- [HDU 2489] Minimal Ratio Tree 最小树
- hdoj 1863 畅通工程
- 自定义控件的属性attr.xml,declare-styleable,TypedArray
- 设计模式之单例模式
- 浅析android:gravity和android:layout_gravity
- URAL2047 Maths (暴力打表 递推)
- Unity3D 中 点乘和叉乘的应用
- 使用Attribute注册所有特性
- linux按照时间查找文件
- iframe跨域通信
- MyBatis魔法堂:Insert操作详解(返回主键、批量插入)
- 从Hadoop到Spark的架构实践
- CodeForces - 344E Read Time (模拟题 + 二分法)
- SpringMVC框架搭建的几个核心配置
- zepto不支持animate({scrollTop:"100px"})的解决办法
- C#中的系统时间获取问题
- iis常见问题解决
- CodeForces 489F DP Special Matrices
- fastJson 类似 jsoncpp的toStyledString