题意:
     n个男孩和m个女孩,给你他们谁和谁彼此了解,问你要找到一个集合,使得这个集合中的男孩和女孩相互了解,并且人数最多。

思路:

     简单题目,其实就是在求最大点权独立集元素个数,先说下点券独立集的概念,就是给你一些关系,让你找到一个最大的集合,使得集合中的任意两个人之间都不会有关系,用的是匈牙利算法,对于这个题目我们可以吧不了解的连接到一起,这样得到的就是集合中任意两人都了解的最大人数了,最大点券独立集元素个数 = n + m - 最大匹配数。


#include<stdio.h>
#include<string.h>#define N_node 200 + 10
#define N_edge 40000 + 20typedef struct
{int to ,next;
}STAR;STAR E[N_edge];
int list[N_node] ,tot;
int map[N_node][N_node];
int mk_dfs[N_node] ,mk_gx[N_node];void add(int a ,int b)
{E[++tot].to = b;E[tot].next = list[a];list[a] = tot;
}int DFS_XYL(int s)
{for(int k = list[s] ;k ;k = E[k].next){int to = E[k].to;if(mk_dfs[to]) continue;mk_dfs[to] = 1;if(mk_gx[to] == -1 || DFS_XYL(mk_gx[to])){mk_gx[to] = s;return 1;}}return 0;
}int main ()
{int n ,m ,k ,i ,j;int a ,b ,cas = 1;while(~scanf("%d %d %d" ,&n ,&m ,&k) && n + m + k){memset(map ,0 ,sizeof(map));for(i = 1 ;i <= k ;i ++){scanf("%d %d" ,&a ,&b);map[a][b] = 1;}memset(list ,0 ,sizeof(list));tot = 1;for(i = 1 ;i <= n ;i ++)for(j = 1 ;j <= m ;j ++)if(!map[i][j]) add(i ,j);memset(mk_gx ,255 ,sizeof(mk_gx));int sum = 0;for(i = 1 ;i <= n ;i ++){memset(mk_dfs ,0 ,sizeof(mk_dfs));sum += DFS_XYL(i);}printf("Case %d: %d\n" ,cas ++ ,m + n - sum);}return 0;
}

POJ3692 最大点权独立集元素个数相关推荐

  1. POJ1466 最大点权独立集

    题意:       给你n个人,再给你每个人都喜欢哪些人,让你找到一个最大的集合数,要求这个集合里面任意两个人都不喜欢彼此. 思路:       直接就是在问最大点权独立集元素个数,没啥解释的一遍二分 ...

  2. [学习笔记]最小割之最小点权覆盖最大点权独立集

    最小点权覆盖 给出一个二分图,每个点有一个非负点权 要求选出一些点构成一个覆盖,问点权最小是多少 建模: S到左部点,容量为点权 右部点到T,容量为点权 左部点到右部点的边,容量inf 求最小割即可. ...

  3. 网络流之最小点权覆盖和最大点权独立集学习

    转载:http://yzmduncan.iteye.com/blog/1149057 二分图最小点覆盖和最大独立集都可以转化为最大匹配求解.在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为 ...

  4. HDU 1569 最大点权独立集

     最大点权独立集与最小点权覆盖是对偶问题,这里先介绍最小点权覆盖的解法. 最小点权覆盖问题是指,给出一张二分图,二分图的每个节点带有一个点权,要求从中选出若干节点,使得这些节点能够覆盖二分图中所有的 ...

  5. hdu 1569 方格取数(2) 最大点权独立集

    二分图. 最大点权独立集=总权-最小点权覆盖集. 哪位大神能给一些二分图 最大点权独立集等等 的相关资料!!!!!跪谢 用网络流求解最小点权覆盖集即可,建图不讲了. #include<cstdi ...

  6. [luoguP2774] 方格取数问题(最大点权独立集)

    传送门 引入两个概念: 最小点权覆盖集:满足每一条边的两个端点至少选一个的最小权点集. 最大点权独立集:满足每一条边的两个端点最多选一个的最大权点集. 现在对网格染色,使得相邻两点颜色不同,之后把两个 ...

  7. 【BZOJ-1952】城市规划 [坑题] 仙人掌DP + 最大点权独立集(改)

    1952: [Sdoi2010]城市规划 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 73  Solved: 23 [Submit][Status ...

  8. hdu 3657 最大点权独立集变形(方格取数的变形最小割,对于最小割建图很好的题)...

    转载:http://blog.csdn.net/cold__v__moon/article/details/7924269 /* 这道题和方格取数2相似,是在方格取数2的基础上的变形.方格取数2解法: ...

  9. [网络流][最大点权独立集] 方格取数

    预备知识: 点覆盖集:无向图G的一个点集,使得该图中所有边都至少有一个端点在该集合内. 最小点权覆盖集:在带点权无向图G中,点权之和最小的覆盖集. 点独立集:无向图G的一个点集,使得任两个在该集合中的 ...

最新文章

  1. 总结:第一章~第五章
  2. 柔性体没有应变_边坡防护终结篇!柔性防护系统(主被动网)知识总结!
  3. XSS挑战之旅平台通关练习(1-20)
  4. filezilla 共享多个目录_Linux下搭建NFS文件共享服务器
  5. 程序竞赛中常用的C字符串函数
  6. 信道容量受哪三个要素_好的餐饮店门头招牌应该怎么设计呢?需要具备哪些要素?...
  7. Atitit nlp用到的技术与功能自然语言处理 v3 t99.docx Atitit nlp用到的技术与常见类库 目录 1. 常用的技术 1 1.1. 语言处理基础技术 分词 相似度等 1 1.2
  8. 【每日一题(26)】初等排序算法(3) 插入排序 希尔排序 (更正)
  9. 台式计算机 无线已连接 无法上网,WiFi已连接不可上网怎么办
  10. 1586 - Molar mass
  11. 上海七宝惊现海宝美眉
  12. 第 05 篇 如何使用 SQL 语句进行模糊查找?
  13. visio的使用技巧
  14. MySQL全量同步和增量同步-
  15. 一个实施 + 一个软件负责人 = 项目经理?
  16. 重构 - 提炼函数,消除重复代码
  17. Spring Security 入门 Remember-Me 记住我功能
  18. Learning diary
  19. 熊猫直播 开启html5,熊猫直播助手使用小葫芦插件教程
  20. 疑似1.59亿LinkedIn领英客户数据库正在以99美元的价格被售卖

热门文章

  1. 大数据2 Hadoop伪分布模式配置部署
  2. 距离QCon纽约还有3个礼拜:新的演讲、播客节目和研讨会
  3. android中对Toast的简单封装
  4. B-树的插入、查找、删除
  5. 吐槽一下现在的代码编辑器
  6. 如何設定 VS2008 讓 HTML 在格式化排版時不要破壞版面
  7. 仿联想商城laravel实战---7、lavarel中如何给用户发送邮件
  8. [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
  9. ALV添加文字输入框
  10. 基于子类的动态代理: