HDU 1068 Girls and Boys (匈牙利算法 二分图的最大独立集数 )
2014-07-28 22:32
381 查看
题目大意:给出n个学生,给出每个学生都对谁有意思,然后问的是尽量多的配对的情况下,最多能剩几个光棍(这里剩几个的意思是剩下的人加上每对陪过对的人抽出来一个人,因为他们只对对方情有独钟,拉出来一个不管剩下的人的好坏都是不愿意和他们配对的)
读懂了题意,就可以知道这是个求最大独立集数的题
Sample Input
Sample Output
输入数据的意思就是 第一个人(id 0)对3个人有意思 4 5 6
题目链接:点击打开链接
代码注释:
读懂了题意,就可以知道这是个求最大独立集数的题
Sample Input
7 0: (3) 4 5 6 1: (2) 4 6 2: (0) 3: (0) 4: (2) 0 1 5: (1) 0 6: (2) 0 1 3 0: (2) 1 2 1: (1) 0 2: (1) 0
Sample Output
5 2
输入数据的意思就是 第一个人(id 0)对3个人有意思 4 5 6
题目链接:点击打开链接
代码注释:
<span style="font-size:18px;color:#ff6600;"><strong>#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define N 505 int a ,visit ,link ; int n; int dfs(int i) { for(int j=0; j<n; j++)//扫描每个妹子 { if(a[i][j]&&!visit[j])//没有相亲成功 { visit[j]=1; if(link[j]==-1||dfs(link[j]))//没有对象,或者找其他对象也能凑活,来给新来的哥们腾位置 { link[j]=i; return 1; } } } return 0; } int hungary() { int sum=0; memset(link,-1,sizeof(link)); for(int i=0; i<n; i++) { memset(visit,0,sizeof(visit)); if(dfs(i)) sum++; } return sum; } int main() { int i; while(cin>>n) { memset(a,0,sizeof(a)); for(i=0; i<n; i++) { int x,y,m; scanf("%d: (%d)",&x,&m); while(m--) { cin>>y; a[x][y]=1; } } cout<<n-hungary()/2<<endl; //套用公式即可 } }</strong></span>还不明白代码意思的可以看我转载的一个大神的博客,讲解十分生动有趣!!令人印象深刻[/code]关于二分其他问题可以看我其他博客
相关文章推荐
- 【hdu 1068 Girls and Boys 最大独立集数 匈牙利算法 】
- 杭电oj 1068 - Girls and Boys【最大独立集数,匈牙利算法】
- 【杭电oj】1068 - Girls and Boys(最大独立集数,匈牙利算法)
- hdu 1068 boys and girls(最大独立点集 ,匈牙利算法)
- HDU 1068 Girls and Boys(二分图+匈牙利算法)
- hdu 1068 Girls and Boys(二分图求最大独立点集)
- HDU 1068 Girls and Boys(二分图最大独立点集,3级)
- hdu 1068 Girls and Boys(匈牙利算法求最大独立集)
- HDU 1068 Girls and Boys(二分图匹配+最大独立集+匈牙利算法)
- hdu 1068 Girls and Boys 匈牙利算法求最大独立集
- hdu 1068 Girls and Boys(匈牙利算法求最大独立集)
- HDU 1068 Girls and Boys(二分图最大独立点集,3级)
- hdu 1068 zoj 1137 poj 1466 Girls and Boys(二分图匹配 匈牙利算法 最大独立集)
- HDOJ题目1068Girls and Boys(二分图最大独立集,匈牙利算法模板)
- 【HDU1068】Girls and Boys(最大独立集数,匈牙利算法)
- HDU 1068 Girls and Boys (二分图 最大独立子集)
- (step6.3.2)hdu 1068(Girls and Boys——二分图的最大独立集)
- hdoj 1068 Girls and Boys【匈牙利算法+最大独立集】
- HDU 1068 Girls and Boys 二分图最大独立集(最大二分匹配)
- Pku acm 1466 Girls and Boys数据结构题目解题报告(十七)---- 匈牙利算法求二分图的最大匹配