二分匹配之最大点集
来源:互联网 发布:red hat linux最新版本 编辑:程序博客网 时间:2024/06/16 00:51
,给你一些边的关系,然后让你判断最大的点集数量是多少,就是用匈牙利匹配算出最大匹配数,然后用点的数量减去最大匹配数的二分之一,注意是二分之一
——————————————————————hdu1068————————————————————
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 1500;int e[maxn][maxn],match[maxn],book[maxn];int m,n;int dfs(int u){ int i; for(i=0;i<n;i++) { if(book[i]==0&&e[u][i]==1) { book[i] = 1; if(match[i]==0 || dfs(match[i])) { match[i] = u; return 1; } } } return 0;}int main(){ int i,j,t1,t2,sum,k,t; while(scanf("%d",&n)==1) { memset(e,0,sizeof(e));//一定要记得清空 sum = 0; for(i=0;i<n;i++) { scanf("%d: (%d) ",&t,&k); while(k--) { scanf("%d",&j); e[t][j] = 1; } } memset(match,0,sizeof(match)); for(i=0;i<n;i++) { memset(book,0,sizeof(book)); if(dfs(i)) sum++; } printf("%d\n",n-sum/2); }}/*0: (3) 4 5 61: (2) 4 62: (0)3: (0)4: (2) 0 15: (1) 06: (2) 0 1*/
0 0
- 二分匹配之最大点集
- UVa live3415Guardian of Decency(二分最大匹配之最大独立点集)
- 二分图 最大匹配 之最小点覆盖
- poj3692Kindergarten 二分匹配之最大独立集
- HDU 3829 Cat VS Dog-二分匹配&最大点集
- 最小点集覆盖=最大匹配<二分图>/证明
- 二分图最大匹配,最小点覆盖,最小路径覆盖,二分图最大独立集
- 二分图之最大匹配
- poj3698(二分图最大匹配 + 拆点)
- HDU OJ 1281 棋盘游戏【二分图匹配之最大匹配重要点】
- 二分图----最大匹配,最小点覆盖,最大点独立集
- 证明二分图最大匹配=二分图最小点集覆盖
- 证明二分图最小点集覆盖=二分图最大匹配
- HDU1150 二分匹配 最少点覆盖=最大匹配数
- poj 3692 Kindergarten(最大独立点集 + 二分图最大匹配)
- hdu 2768 Cat vs. Dog(二分图最大匹配--最大独立点集)
- 二分图最大匹配,最小点覆盖,最大独立集 证明
- UVa live6492Welcome Party(二分最大匹配之最小点覆盖)
- 前端面试知识点
- PL/SQL中的自定义函数
- AndroidStudio关联android Source方法
- TCP/IP协议、Socket、Http的区别
- Hadoop数据传输工具:Sqoop
- 二分匹配之最大点集
- Java对象的序列化
- 练习三 T
- sdut第八届校赛--小白的追求
- Linux ssh 下的简单 IM 通信
- 《剑指offer》——从尾到头打印链表
- JS词法作用域
- 记一下机器学习笔记 Rosenblatt感知机
- Linux 中实现进度条