hdu1068 Girls and Boys --- 最大独立集
来源:互联网 发布:键盘打字指法软件 编辑:程序博客网 时间:2024/05/20 11:22
有一个集合男和一个集合女,给出两集合间一些一一对应关系,问该两集合中的最大独立集的点数。
最大独立集=顶点总数-最大匹配数
此题中,若(a,b)有关,则(b,a)有关,每一个关系算了两次,相当于二分图的两边集合没有分男女,两边都是总人数,
所以此题中答案应该是 顶点总数-最大匹配数/2
#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>#include<vector>#include<queue>const int maxn=510;using namespace std;int mx[maxn],my[maxn],vis[maxn],e[maxn][maxn],n;int path(int i){ int j; for(j=0;j<n;j++) { if(e[i][j]&&!vis[j]) { vis[j]=1; if(my[j]==-1||path(my[j])) { my[j]=i; mx[i]=j; return 1; } } } return 0;}int hungry(){ int res=0; memset(mx,-1,sizeof mx); memset(my,-1,sizeof my); for(int i=0;i<n;i++) { if(mx[i]==-1) { memset(vis,0,sizeof vis); res+=path(i); } } return res;}int main(){ int a,b,m,i; while(~scanf("%d",&n)) { memset(e,0,sizeof e); for(i=0;i<n;i++) { scanf("%d: (%d)",&a,&m); while(m--) { scanf("%d",&b); e[a][b]=1; } } printf("%d\n",n-hungry()/2); } return 0;}
1 0
- hdu1068 Girls and Boys 最大独立集
- hdu1068 Girls and Boys最大独立集
- hdu1068 Girls and Boys 最大独立集
- hdu1068 Girls and Boys --- 最大独立集
- HDU1068 Girls and Boys 【最大独立集】
- HDU1068 Girls and Boys(最大独立集)
- hdu1068 Girls and Boys (二分图最大独立集)
- HDU1068 (最大独立集)Girls and Boys
- HDU1068-Girls and Boys(二分图_最大独立集)
- hdu1068 Girls and Boys,二分图最大独立集
- hdu1068 Girls and Boys(最大点独立集)
- hdu1068-Girls and Boys(最大独立集,匹配问题)
- 【HDU1068】Girls and Boys(最大独立集数,匈牙利算法)
- hdu1068解题报告--Girls and Boys--可以说是白话最大独立集学习总结
- HDU1068,POJ1466——Girls and Boys(二分图最大独立集)
- Girls and Boys----最大独立集(匹配)
- POJ1466-Girls and Boys(最大独立集)
- 最大独立集 poj1466 Girls and Boys
- 122 - Trees on the level[构建二叉树]
- 当前不会命中断点。无法进入断点解决方法!
- 工作日志2014-07-22
- HDU 1754 I Hate It(线段树)
- 用PHP去实现静态化
- hdu1068 Girls and Boys --- 最大独立集
- HDU 2871 Memory Control (线段树,区间合并)
- Visual Prolog 的 Web 专家系统 (11)
- domain user到底有没有安装权限
- 《Struts2技术内幕》 新书部分篇章连载(五)—— ThreadLocal模式
- ZooKeeper伪分布式集群安装及使用
- 大公司好处
- 总结一些你肯定会用到的东西(长期更新)
- HD1001 sum--20140722