【HDU 1150】Machine Schedule(二分图匹配)
机器的不同模式为点,对于每个job,建两条边 A机器需要的模式<->B机器需要的模式。
问题转化为最小点覆盖,然后用二分图的最小点覆盖==最大匹配,用匈牙利算法解。
#include <cstdio> #include <cstring> const int N=105<<1; const int M=1001<<1; struct edge{int to,next; }e[M]; int head[N],tot; void add(int u,int v){e[tot].to=v;e[tot].next=head[u];head[u]=tot++; } void init(){tot=0;memset(head,-1,sizeof head); } int n,vis[N],link[N]; int find(int u) {for(int i=head[u];~i;i=e[i].next){int v=e[i].to;if(!vis[v]){vis[v]=1;if(!link[v]||find(link[v])){link[v]=u;return 1;}}}return 0; } int solve(){memset(link,0,sizeof link);int ans=0;for(int i=1;i<=n;i++){memset(vis,0,sizeof vis);if(find(i))ans++;}return ans; } int main(){int k,m,u,v;while(scanf("%d",&n),n){init();scanf("%d%d",&m,&k);while(k--){scanf("%d%d%d",&m,&u,&v);add(u,v+n);add(v+n,u);}printf("%d\n",solve());} }
【HDU 1150】Machine Schedule(二分图匹配)相关推荐
- HDU - 1150 Machine Schedule(最小点覆盖-二分图最大匹配)
题目链接:点击查看 题目大意:现在有一个机器A和一个机器B,A机器有n种模式,B机器有m种模式,现在有k次工作需要完成,每次工作的信息为: id x y:编号为id,在A机器要用x模式完成,在B机器要 ...
- hdu 1150 Machine Schedule (经典二分匹配)
//A组n人 B组m人 //最多有多少人匹配 每人仅仅有匹配一次 # include<stdio.h> # include<string.h> # include<alg ...
- POJ-1325 Machine Schedule 二分图匹配 最小点覆盖问题
POJ-1325 题意: 有两台机器A,B,分别有n,m种模式,初始都在0模式,现在有k项任务,每项任务要求A或者B调到对应的模式才能完成.问最少要给机器A,B调多少次模式可以完成任务. 思路: 相当 ...
- POJ 1325 Machine Schedule[二分图匹配*最小点覆盖]
题意: 两台机器,有 k 个工作,每个工作可以在 a 机器的 P 模式或在 b 机器的 q 模式下解决,两台机器初始状态为 0 模式,每台机器没变换一次模都要重启一次, 问至少重启多少次可以完成所有工 ...
- HDU 2819 Swap(二分图匹配)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2819 [题目大意] 给出一个棋盘,由白格子和黑格子组成,可以交换棋盘的行列, 使得其主对角线为黑格 ...
- POJ 1325 Machine Schedule(二分图最小点集覆盖)
题目链接:http://poj.org/problem?id=1325 题意:A机器有n个模式,B机器有m个模式,有k个任务,第i个任务可以用A机器的ai模式或者B机器的bi模式,换模式需要重启,开始 ...
- 【HDOJ】1150 Machine Schedule
匈牙利算法. 1 #include <stdio.h> 2 #include <string.h> 3 4 #define MAXNUM 1005 5 6 char map[M ...
- HDU 2063 过山车 (二分图匹配之匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- 【 HDU - 5093】Battle ships(匈牙利算法,二分图匹配)
题干: Dear contestant, now you are an excellent navy commander, who is responsible of a tough mission ...
- HDU 2444 The Accomodation of Students 二分图匹配
HDU 2444 The Accomodation of Students 二分图匹配 题目来源: HDU 题意: 给出学生数n和关系数m,接下来给出m个关系. 要求将学生分成两部分,每一部分不能有互 ...
最新文章
- 小试牛刀(1)简单实现用户添加和登录(文件版)
- opencv+pythons相机标定源码解析
- java 马踏棋盘优化_我所知道的十大常用算法之马踏棋盘算法(深度搜索、贪心思想优化 )...
- [转]Spring中property-placeholder的使用与解析
- springboot三层架构_几张图让你快速了解数据中台技术架构
- Java常量池学习总结-1
- 【Android】Mac安装EasyTether导致无法识别设备的问题
- VMware12安装虚拟机教程、Ubuntu16.04安装教程
- html跟随鼠标事件,HTML5深入学习之鼠标跟随,拖拽事件
- Perlin noise(一)
- 使用ResNet101作为预训练模型训练Faster-RCNN-TensorFlow-Python3-master
- 南京融时代 php,河西南,回不去的3万5时代
- 面试问到UDP,这样回答offer拿到手软
- IP和子网掩码和网关的关系
- 数据结构:什么是红黑树?为什么要用红黑树?
- 语言认知模型--的学习笔记
- ip段各个号段的含义
- 【树莓派】一、新坑入门-购买篇、基础配置篇
- 图书馆系统c语言作业,C语言图书馆管理系统课程设计报告
- python3中的os.path模块