题解:

最大独立集问题

显然对于每一对交叉的建边

然后求出最大独立集

最大独立集=n-最大匹配

代码:

  1. #include<cstdio>
  2. #include<cmath>
  3. #include<algorithm>
  4. #include<cstring>
  5. using namespace std;
  6. const int N=;
  7. int x[N],f[N],match[N],y[N],fi[N],num,ne[N],zz[N],n,m;
  8. int dfs(int x)
  9. {
  10. for (int i=fi[x];i;i=ne[i])
  11. if (!f[zz[i]])
  12. {
  13. f[zz[i]]=;
  14. if (!match[zz[i]]||dfs(match[zz[i]]))
  15. {
  16. match[zz[i]]=x;
  17. return ;
  18. }
  19. }
  20. return ;
  21. }
  22. void jb(int x,int y)
  23. {
  24. ne[++num]=fi[x];
  25. fi[x]=num;
  26. zz[num]=y;
  27. }
  28. int main()
  29. {
  30. while (~scanf("%d%d",&n,&m),n||m)
  31. {
  32. memset(fi,,sizeof fi);
  33. memset(match,,sizeof match);
  34. num=;
  35. for (int i=;i<=n;i++)scanf("%d%d",&x[i],&y[i]);
  36. for (int i=;i<=m;i++)scanf("%d%d",&x[i+n],&y[i+n]);
  37. for (int i=;i<=n;i++)
  38. for (int j=;j<=m;j++)
  39. if (x[i]==x[j+n]&&(y[i]==y[j+n]||y[i]==y[j+n]+)||
  40. x[i]+==x[j+n]&&(y[i]==y[j+n]||y[i]==y[j+n]+))jb(i,j);
  41. int ans=;
  42. for (int i=;i<=n;i++)
  43. {
  44. memset(f,,sizeof f);
  45. ans+=dfs(i);
  46. }
  47. printf("%d\n",n+m-ans);
  48. }
  49. return ;
  50. }

hdu4619的更多相关文章

  1. HDU-4619 Warm up 2 二分匹配

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4619 一看就知道是二分匹配题目,对每个点拆点建立二分图,最后答案除2.因为这里是稀疏图,用邻接表处理. ...

  2. HDU4619+匈牙利

    /* 匈牙利算法 二分匹配 最小点覆盖=最大匹配. 即踢掉最小点覆盖 */ #include<stdio.h> #include<string.h> #include<s ...

  3. hdu4619 / 最大独立集

    题意,一个矩阵,上面可以横放或者竖着放骨牌(1X2)保证横的与横的不重叠,竖的和竖的不重叠,求拿掉最小的牌,使所有的都不重叠. 分析:一看,不重叠就是没有边,拿最少,就是留最多,最大独立集啊!二分图, ...

  4. 2013 Multi-University Training Contest 2

    HDU-4611 Balls Rearrangement 题意:具体题意不大清楚,最后要处理一个这样的表达式:sum{ |i % a - i % b| },0 <= i < N 的取值很大 ...

  5. Warm up 2

    hdu4619:http://acm.hdu.edu.cn/showproblem.php?pid=4619 题意:题目大意:给你两种纸牌 ,一种水平放置共有n张 ,一种竖直放置共有m张.水平放置的纸 ...

  6. 二分图匹配-HK算法

    先把代码贴上,其他南京回来再补了.. #include <cstdio> #include <cstdlib> #include <cstring> #includ ...

随机推荐

  1. 阿里云配置mysql远程连接

    默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log 首先登录: mysql -u root -h local ...

  2. 一次rna-seq的过程-知乎live转

    数据分析流程 来自知乎孟浩巍的“快速入门生物信息学的”Live,超棒的~ 1.数据质控 首先是质控部分,使用fastqc进行对结果分析. 对于Illumia二代测序的结果质控包括两个方面,去掉测序质量 ...

  3. slf4j-api、slf4j-log4j12以及log4j之间什么关系?

    几乎在每个jar包里都可以看到log4j的身影,在多个子工程构成项目中,slf4j相关的冲突时不时就跳出来让你不爽,那么slf4j-api.slf4j-log4j12还有log4j他们是什么关系?我把 ...

  4. java注解1

    http://computerdragon.blog.51cto.com/6235984/1210969 http://blog.csdn.net/it_man/article/details/440 ...

  5. html 基础 超链接

    ***设置超链接的样式示例  a:link 超链接被点前状态 a:visited 超链接点击后状态 a:hover 悬停在超链接时 a:active 点击超链接时 在定义这些状态时,有一个顺序l v ...

  6. vm安装centos7 Minimal 配置静态ip添加dns: 解决连不上网

    去centos官网下载需要的镜像:https://www.centos.org/ 安装完成后,在centos7中,ifconfig命令已经不存在了,查看ip的命令 # ip addr 发现ens*** ...

  7. FTP 服务器性能 测试点

    测试FTP 服务器性能测试点: 1. ftp软件性能 2. ftp服务器硬件处理性能(IO/CPU/ROM) 3. ftp服务器网络吞吐性能 (NET IO) 有针对性的测试 达到的效果会比较好. 建 ...

  8. 【Thinking in java, 4e】复用类

    mark一篇09年的<Thinking in Java>笔记:here --> https://lawrence-zxc.github.io/2009/11/07/thinking- ...

  9. js算法-快速排序(Quicksort)

    快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出.在平均状况下,排序n个项目要O(nLogn)次比 ...

  10. Convolutional Neural Network

    Why CNN for Image 图片是由像素点组成的,可以这样来解释深度神经网络对图片的处理. 第一层的layer是最基本的分类器,区分一些基本的特征,比如颜色.是否有斜线. 第二层的layer会 ...