点击打开链接

虽然不是二分图 但如果把每条边都建成双向边 再对每一个点都匹配一次 就相当于把这个图从某个位置划分成了男女生两个部分 用男生对女生匹配一次 反过来女生又对男生匹配一次 具体是怎么划分的不用管 最后答案除2即可

但如果只是建立单向边的话 有些关系就会被遗漏 因为题目中描述的点覆盖明显具有双向关系

#include <bits/stdc++.h>
using namespace std;int e[510][510];
int match[510],book[510];
int n,m;int dfs(int cur)
{int i;for(i=1;i<=n;i++){if(e[cur][i]==1&&book[i]==0){book[i]=1;if(match[i]==0||dfs(match[i])){match[i]=cur;return 1;}}}return 0;
}int hungary()
{int ans,i;memset(match,0,sizeof(match));ans=0;for(i=1;i<=n;i++){memset(book,0,sizeof(book));if(dfs(i)) ans++;}return ans;
}int main()
{int i,u,v,maxx;while(scanf("%d%d",&n,&m)!=EOF){memset(e,0,sizeof(e));for(i=1;i<=m;i++){scanf("%d%d",&u,&v);e[u][v]=1;e[v][u]=1;}maxx=hungary();printf("%d\n",maxx/2);}return 0;
}

Vertex Cover SCU - 4439相关推荐

  1. 集合覆盖 顶点覆盖: set cover和vertex cover

    这里将讲解一下npc问题中set cover和vertex cover分别是什么. set cover: 问题定义: 实例:现在有一个集合A,其中包含了m个元素(注意,集合是无序的,并且包含的元素也是 ...

  2. 1134. Vertex Cover (25)

    1134. Vertex Cover (25) 时间限制 600 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A vertex ...

  3. PAT甲级1134 Vertex Cover :[C++题解]顶点覆盖、图论、用结构体存边,bool数组判断

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:首先把所有的边存储下来,使用结构体,结构体中保存两个端点. 然后对于每次询问,将出现过的顶点标志为true放在st数组中,然后遍历所有 ...

  4. 二分图匹配 + 最小点覆盖 - Vertex Cover

    Vertex Cover Problem's Link Mean: 给你一个无向图,让你给图中的结点染色,使得:每条边的两个顶点至少有一个顶点被染色.求最少的染色顶点数. analyse: 裸的最小点 ...

  5. 从顶点覆盖(Vertex Cover)到碰撞集(Hitting Set)的归约

    碰撞集问题 给定一组集合{S1,S2,S3,-,Sn}和预算b,问是否存在一个集合H,其大小不超过b,且H和所有Si(i=1, 2, -, n)相交. 顶点覆盖问题 给定图G,问是否存在一个顶点集合V ...

  6. Vertex Cover问题

    最近算法课上完成了一道作业题,Vertex Cover,拿出来与大家分享一下.算法不能说有多好,有问题欢迎致信ms08.shiroh@gmail.com 1,问题描述 首先Vertex Cover问题 ...

  7. SCU 4439 Vertex Cover(二分图最小覆盖点)题解

    题意:每一条边至少有一个端点要涂颜色,问最少涂几个点 思路:最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联,显然是道裸最小顶点覆盖题: 参考:二分图 代码: #include<iost ...

  8. scu 4439 Vertex Cover

    题意: 给出n个点,m条边,将若干个点染色,使得每个边至少有一点染色,问至少染多少个点. 思路: 如果是二分图,那就是最小点覆盖,但是这是一般图. 一般图的最小覆盖是npc问题,但是这题有一个条件比较 ...

  9. 【题解】Luogu SP1435 PT07X - Vertex Cover

    原题传送门 求树的最小点覆盖,就是一个树形dp 类似于没有上司的舞会 dp的状态为\(f[i][0/1]\),表示i节点是否选择 边界是\(f[x][0]=0\),\(f[x][1]=1\) 转移方程 ...

最新文章

  1. week6 10 后端backend server和mongoDB通信
  2. Win7环境下搭建GO开发平台——SublimeText 2
  3. eNSP中浮动路由的配置
  4. boost::hana::detail::any_of用法的测试程序
  5. linux源码Makefile的详细分析
  6. Hadoop辅助工具——Flume、Sqoop
  7. 祝贺 在线文件管理系统 访问量 超过500
  8. java 数据纠错,纠错码简介
  9. Hibernate Session和Jpa EntityManager
  10. 如何去掉暴风影音广告,去掉暴风影音暂停时的广告
  11. 数学建模系列-预测模型(一)---神经网络模型
  12. 计算机无法删除ie,ie删不掉的原因及解决方法【图解】
  13. 网站克隆工具_Kali Linux工具篇十三:网站克隆技巧Httrack使用技巧
  14. STM32传感器外设集--心率模块(MAX30102)
  15. dpp-enrollee配网
  16. 插值算法的Python实现方式
  17. 最实用的Chrome插件--CSDN浏览器助手使用体验
  18. Linux欧姆单位怎么打,电阻常识-younger0-ChinaUnix博客
  19. Unity给小鳄鱼洗澡2D流体水实现
  20. 第一章: 利用神经网络识别手写数字

热门文章

  1. C++ 字符串、string、char *、char[]、const char*的转换和区别
  2. Hall定理及其充要性证明
  3. python获得当前时间戳_python怎么获取当前时间戳
  4. python m4a转mp3_如何将蜻蜓fm文件转化为音频文件
  5. 机器学习从零到入门 集成学习
  6. zigbee学习参考(1~42 )
  7. 【读书笔记】提高编码效率 —— 《Mac 高效开发指南》
  8. 东师18秋学期计算机基础3,东师18秋学期(1709、1803、1809)《概率论与统计原理》在线作业答案...
  9. C专家编程 读书笔记
  10. linux申请端口,linux申请端口申请书