最大匹配BPM模版(LRJ)
来源:互联网 发布:青岛市 阿里云 编辑:程序博客网 时间:2024/05/21 10:03
const int maxn = 500 + 5; // 单侧顶点的最大数目// 二分图最大基数匹配,邻接矩阵写法struct BPM { int n, m; // 左右顶点个数 int G[maxn][maxn]; // 邻接表 int left[maxn]; // left[i]为右边第i个点的匹配点编号,-1表示不存在 bool T[maxn]; // T[i]为右边第i个点是否已标记 void init(int n, int m) { this->n = n; this->m = m; memset(G, 0, sizeof(G)); } bool match(int u){ for(int v = 0; v < m; v++) if(G[u][v] && !T[v]) { T[v] = true; if (left[v] == -1 || match(left[v])){ left[v] = u; return true; } } return false; } // 求最大匹配 int solve() { memset(left, -1, sizeof(left)); int ans = 0; for(int u = 0; u < n; u++) { // 从左边结点u开始增广 memset(T, 0, sizeof(T)); if(match(u)) ans++; } return ans; }};BPM solver;
时间复杂度 邻接矩阵:最坏为O(n^3) 邻接表:O(mn) 。图中点的编号从0开始。
- 最大匹配BPM模版(LRJ)
- 最大流Dinic模版(LRJ)
- 最小费用最大流模版(LRJ)
- Dijkstra模版(LRJ)
- TwoSAT模版(LRJ)
- KM算法模版(LRJ)
- 强连通分量SCC模版(LRJ)
- 二分图最小点覆盖模版(LRJ)
- hdu2063(最大匹配--模版题)
- HDU 1083 Courses(最大匹配模版题)
- uva 1220 lrj-P282 最大独立集(树形dp)
- POJ 2239 二分图最大匹配模版
- 最小有向生成树--朱刘算法模版(LRJ)
- 无向图点双连同分量BCC模版(LRJ)
- hdu 2389 Rain on your Parade(最大匹配,Hopcroft-Karp算法模版)
- NYOJ239月老的难题(二分图的最大匹配模版)
- 二分匹配 模版 及最大总结 及 题目集合 +解析
- 模版匹配
- 大端模式和小端模式
- java路径研究
- 渗透提权小思路总结
- 很早写的用HTML5 JQUERYMOBILE PHONEGAP来实现的手机照相
- linux 安装包跳过检查依赖的包
- 最大匹配BPM模版(LRJ)
- Eclipse Java EE IDE for Web Developers部署项目到Tomcat的方法
- Word长文档编辑技巧:主控文档和子文档
- PHP 二进制流 逐bit的低位在前算法
- Android注册会计师软件
- JVM内存管理
- hibernate4注解说明
- Ranch基本结构图
- MINA原理