hdu_1845 Jimmy’s Assignment 二分图匹配
来源:互联网 发布:软件项目需求管理 编辑:程序博客网 时间:2024/06/05 16:44
#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;#define N 5001vector<int> g[N];int linker[N];bool vis[N];bool dfs(int u){for(int i=0;i<g[u].size();i++){int v=g[u][i];if(!vis[v]){vis[v]=1;if(linker[v]==-1||dfs(linker[v])){linker[v]=u;return true;}}}return false;}int hungary(int n){int cnt=0;memset(linker,-1,sizeof(linker));for(int i=1;i<=n;i++){memset(vis,0,sizeof(vis));if(dfs(i)) cnt++;}return cnt;}int main(){int t,n;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i=1;i<=n;i++){g[i].clear();}int num=3*n/2;int r,c;while(num--){scanf("%d%d",&r,&c);g[r].push_back(c);g[c].push_back(r);}printf("%d\n",hungary(n)/2);}return 0;}
居然没超时!
A matching is a subset of the graph’s edges, such that no two edges in the subset have a common vertex.
这句话就是说一个点只能连一条边。就是二分图匹配了。
- hdu_1845 Jimmy’s Assignment 二分图匹配
- HDU 1845 Jimmy’s Assignment(二分图匹配)
- HDU 1845 Jimmy’s Assignment(二分图匹配)
- HDU 1845 Jimmy’s Assignment【二分匹配,三正则图】
- Poj 3683 Jimmy’s Assignment【二分匹配】
- hdu 1845 Jimmy’s Assignment (二分图)
- HDU - 1845 Jimmy’s Assignment (二分匹配)
- hdu 1845 Jimmy’s Assignment(最大二分匹配)
- hdu 1845 Jimmy’s Assignment (二分匹配)
- HDU1845 Jimmy’s Assignment 984ms 飘过啊 汗死 二分匹配最大匹配数
- hdu1845 Jimmy’s Assignment --- 完备匹配
- hdu 1845 Jimmy’s Assignment 二分匹配最小点集覆盖
- HDOJ 1845 - Jimmy’s Assignment 左右侧点代表的是相同点的二分图最大匹配/利用性质的算法
- HDU1845 Jimmy’s Assignment
- hdu1845 Jimmy’s Assignment (最大匹配Hopcroft-Karp算法)
- HDU1845 Jimmy’s Assignment(最大匹配)卡时间
- HDOJ 1845 Jimmy’s Assignment (求最大匹配数 匈牙利算法)
- hdoj 1845 Jimmy’s Assignment 【HK】
- JAVA初学之java基础
- IIS 出现 "无权查看该网页"
- 树形dp-hdu-3660-Alice and Bob's Trip
- Visio 2010去除页面白边
- linux文件权限
- hdu_1845 Jimmy’s Assignment 二分图匹配
- JAVA初学之this ,static , super 与final关键字
- 书:计算机网络高级软件编程技术(P46) 之 基础训练:使用Arp协议获得本地局域网内在线主机MAC地址
- 发现一个c和java语言执行的差异
- uva 11069
- Win32剪贴簿
- JAVA初学之方法的重载与重写
- 删除LIstContr中的选定行
- 4: Data Abstraction