HDU 1054 Strategic Game(无向二分图的最大匹配)
( ̄▽ ̄)"
//凡无向图,求匹配时都要除以2 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<vector> using namespace std;const int MAXN=1505; int uN; vector<int> g[MAXN]; int link[MAXN]; bool vis[MAXN];bool DFS(int u) {for(int i=0;i<g[u].size();i++){int v=g[u][i];if(!vis[v]){vis[v]=1;if(link[v]==-1||DFS(link[v])){link[v]=u;return true;}}}return false; }int hungary() {int res=0;memset(link,-1,sizeof(link));for(int u=0;u<uN;u++){memset(vis,0,sizeof(vis));if(DFS(u)) res++;}return res; }int main() {int n,node,edge;while(~scanf("%d",&n)){for(int i=0;i<n;i++)g[i].clear();for(int i=0;i<n;i++){scanf("%d:(%d)",&node,&edge);int to;for(int j=0;j<edge;j++){scanf("%d",&to);g[node].push_back(to);g[to].push_back(node);}}uN=n;printf("%d\n",hungary()/2);}return 0; }
转载于:https://www.cnblogs.com/atmacmer/p/5201865.html
HDU 1054 Strategic Game(无向二分图的最大匹配)相关推荐
- HDU - 1054 Strategic Game(最小点覆盖-二分图最大匹配)
题目链接:点击查看 题目大意:给出一棵树,现在要在节点上放置士兵,每个士兵可以监视与其所在的节点直接相连的节点,问最少需要多少个士兵才能将整棵树都监视到 题目分析:求最少的节点,以保证每条边都有一个端 ...
- hdu 1054 Strategic Game 二分图最小点覆盖
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1054 题意: 给出一个无向图,求最小点覆盖. 思路: 用网络流来做设立一个超级源点和一个超级汇点. 每 ...
- HDU - 1054 Strategic Game (二分图匹配模板题)
二分图匹配模板题 #include <bits/stdc++.h> #define FOPI freopen("in.txt", "r", stdi ...
- hdu 1054 Strategic Game 最小点覆盖 = 最大二分匹配
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1054 简单二分匹配,根据题意构造一个无向图.然后求最小点覆盖,然后扫描mark数组将曾经匹配的点所匹配 ...
- hdu 1054 Strategic Game
http://acm.hdu.edu.cn/showproblem.php?pid=1054 树形DP 主要是把思路屡清楚 选个根结点进行向下搜 每个点都有两种可能 放士兵还是不放 防止重复搜索就可以 ...
- HDU 1054 Strategic Game 最小点覆盖
最小点覆盖概念:选取最小的点数覆盖二分图中的所有边. 最小点覆盖 = 最大匹配数. 证明:首先假设我们求的最大匹配数为m,那么最小点覆盖必然 >= m,因为仅仅是这m条边就至少需要m个点.然后 ...
- HDU——1054 Strategic Game
Strategic Game Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU 2444 The Accomodation of Students 二分图匹配
HDU 2444 The Accomodation of Students 二分图匹配 题目来源: HDU 题意: 给出学生数n和关系数m,接下来给出m个关系. 要求将学生分成两部分,每一部分不能有互 ...
- HDU - 3360 National Treasures(最小点覆盖-二分图最大匹配+奇偶拆点)
题目链接:点击查看 题目大意:给出一个n*m的矩阵,每个点都有一个权值,-1表示该格子为警卫,否则表示该格子有宝物: 当前点的权值二进制为1的地方代表需要一个警卫(编号为二进制从右往左数的位置),警卫 ...
- 二分图的最大匹配 匈牙利算法
基本概念 1.二分图: 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别 ...
最新文章
- php写实体类,PHP实体类
- 基于JSP实现校园二手交易平台
- k8s控制器模式介绍
- 【贪心】Sunscreen(poj 3614/luogu 2887)
- 响应式多级菜单 侧边菜单栏_使用纯HTML和OmniFaces构建动态响应的多级菜单
- 政府公开数据可视化_公开演讲如何帮助您设计更好的数据可视化
- ObjectArx创建自定义实体
- BZOJ4681 [jsoi2010]旅行
- 瞬间读懂什么是互联网思维、大数据、O2O、众筹、红海
- 我的Android第二章
- 服务提供者框架理解草图
- java毕向东学习笔记——day09
- 中海达数据怎么转rinex_GPS_OEM原始数据向Rinex格式转换的方法
- 看不见的,就是不存在么?《平面国》读后感
- protel dxp2004第三讲之仿真设计
- Postman的下载及安装
- 计算机网络 路由选择,路由选择
- 利用 cv2 给图片添加文字
- 2021年岳阳市高考成绩查询,2021年岳阳高考状元名单公布,岳阳文理科状元是谁多少分...
- 在手机安装 Kali Linux
热门文章
- SpaceEmacs Rock Day2 学习笔记
- Autoware docker 环境安装
- 高仿爱鲜蜂购物应用源码
- Python多线程学习资料1
- Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置改动及測试步骤
- 06.SpringBoot的webjars和静态资源映射
- Linux下Oracle数据库的启动过程、关闭过程
- python提取百度首页链接_python获取百度热榜链接的实例方法
- python清空字典保留变量_python中字典删除元素
- hibernate 镜像下载_虚拟光驱软件下载手机版-虚拟光驱免费中文版64位下载v5.8.0...