POJ 1325 Machine Schedule(二分图最小点集覆盖)
题目链接:http://poj.org/problem?id=1325
题意:A机器有n个模式,B机器有m个模式,有k个任务,第i个任务可以用A机器的ai模式或者B机器的bi模式,换模式需要重启,开始两个机器都在模式0,问最少需要重启几次。
建图:A的模式为X集,B的模式为Y集,每个任务看做一条线,连接X集和Y集,则问题转化为求X、Y中最少的点,使得每条线至少有一个端点被选。即最小点集覆盖。
代码:
2 #include <cstring>
3 #include <cstdio>
4 using namespace std;
5 const int N=1001;
6 int map[N][N],vis[N],link[N];
7 int n1,n2,k;
8 int find(int x)
9 {
10 int i;
11 for(i=1;i<=n2;i++)
12 {
13 if(map[x][i]&&!vis[i])
14 {
15 vis[i]=1;
16 if(!link[i]||find(link[i]))
17 {
18 link[i]=x;
19 return 1;
20 }
21 }
22 }
23 return 0;
24 }
25 int main()
26 {
27 int a,b,c,i,sum;
28 while(~scanf("%d",&n1))
29 {
30 if(!n1)
31 break;
32 scanf("%d%d",&n2,&k);
33 sum=0;
34 memset(map,0,sizeof(map));
35 memset(link,0,sizeof(link));
36 while(k--)
37 {
38 scanf("%d%d%d",&a,&b,&c);
39 if(b*c)
40 map[b][c]=1;
41 }
42 for(i=1;i<=n1;i++)
43 {
44 memset(vis,0,sizeof(vis));
45 if(find(i))
46 sum++;
47 }
48 printf("%d\n",sum);
49 }
50 return 0;
51 }
转载于:https://www.cnblogs.com/pony1993/archive/2012/08/13/2636916.html
POJ 1325 Machine Schedule(二分图最小点集覆盖)相关推荐
- POJ 1325 Machine Schedule[二分图匹配*最小点覆盖]
题意: 两台机器,有 k 个工作,每个工作可以在 a 机器的 P 模式或在 b 机器的 q 模式下解决,两台机器初始状态为 0 模式,每台机器没变换一次模都要重启一次, 问至少重启多少次可以完成所有工 ...
- POJ 1325 Machine Schedule(zoj 1364) 最小覆盖数
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=364 http://poj.org/problem?id=1325 题目大意: ...
- poj 1325 Machine Schedule 最小顶点覆盖
题意 两个机器A,B, 分别有 N,M个工作模式, K个作业,可以在( Ai, Bj ) 模式下工作. 机器最初在模式0下. 问最小的 切换模式次数. 解题思路 A, B 两个天然二分图顶点集合, ...
- poj 1325 Machine Schedule 解题报告
题目链接:http://poj.org/problem?id=1325 题目意思:有 k 个作业,机器A有 n 个模式:0 ~ n-1,机器B 有 m 个模式:0~ m-1.每一个作业能运行在 A 的 ...
- POJ-2226 Muddy Fields 最小点集覆盖
题目链接:http://poj.org/problem?id=2226 这题是POJ 3041的升级版本,很有意思,要求木板不能盖在草地上.那么这里我们可以把每行一连续'*'的看做行,把每列连续的'* ...
- 洛谷 - P2764 最小路径覆盖问题(最大流+二分图最小路径覆盖+路径打印)
题目链接:点击查看 题目大意:给出一个由n个点和m条边组成的有向无环图,现在需要我们求最少可以将n个点分为多少条简单路径,并打印出每一条路径 题目分析:题意挺难懂的..简单来说就是让求二分图最小路径覆 ...
- POJ 3216 Repairing Company【二分图最小路径覆盖】
题意: 告诉你 Q 格街区,一共有 M d 个任务分布在这Q 个街区里面,知道了每个任务的开始时间和需要一个人的完成时间, 问最少需要派多少人才能做完所有的任务. 分析: 求二分图的最小路径覆盖, ...
- POJ-1325 Machine Schedule 二分图匹配 最小点覆盖问题
POJ-1325 题意: 有两台机器A,B,分别有n,m种模式,初始都在0模式,现在有k项任务,每项任务要求A或者B调到对应的模式才能完成.问最少要给机器A,B调多少次模式可以完成任务. 思路: 相当 ...
- POJ - 2195 Going Home(二分图最小权匹配+KM+思维建边/最小费用最大流)
题目链接:点击查看 题目大意:给出一个n*m的地图,现在有一定数量的小人要回到屋子里去,题目保证图中的小人和屋子的数量是一致的,小人回到小屋的距离是两个点坐标的曼哈顿距离,每个小屋只能容纳一个小人,现 ...
最新文章
- oracle 回收碎片,Oracle10g中表的碎片空间回收
- 解决: AttributeError: module 'cv2' has no attribute 'SURF'
- 才云开源 Nirvana:Golang REST API框架
- 手游行业洞察:Project Makeover成爆款,中国手游出海如何破局
- Android 中文API (46) —— SimpleAdapter
- 心理压力如何测试软件,心理压力测试 缓解压力有什么办法
- ARM架构与系列简介
- 【图神经网络】图神经网络(GNN)学习笔记:图滤波器与图卷积神经网络
- Unity实战篇 | unity接入QQ登录 详细过程——Android篇
- 记一次阿里云面试心得
- 博客营销 交流互动大舞台
- assoc fetch mysql 用法_php mysql_fetch_assoc 循环遍历表格
- javascript 获取当前日期 月份 时间
- 修复运营商网站劫持,Win8.1怎么修改DNS
- python读取nc数据_python读取nc文件
- 基于springboot的景区购票网站源码
- chosen 下拉框
- 企业文档过多如何管理?文档协同能够帮到你
- 2022考研数学李永乐复习全书pdf版-基础篇(数一二三通用)
- 空间三角形_对应三种空间形状的三种几何