poj1325
给出一系列任务,每个任务可以在机器A的某个模式,或者在机器B的某个模式下完成。机器A和B每切换一次模式需要重启一次。问完成这些任务,最少需要重启机器多少次?
把任务看作边 “重启”操作看作点
这道题就是一个裸的二分图最小点覆盖
然后呢 最小点覆盖 NP完全问题
艹
然后呢 二分图中 最小点覆盖等于最大匹配
我真是做TMD无敌棒槌终极骚猪喷香油水水之终极猪皮皮之麻辣臭皮小骚猪
好的好的随便写个匈牙利10分钟AC
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std; const int Max=;
int n,m,yM[Max];
bool vis[Max],map[Max][Max]; bool SearchPath(int u)
{
for(int v=;v<m;v++)
if(!vis[v] && map[u][v])
{
vis[v]=true;
if(yM[v]==- || SearchPath(yM[v]))
{
yM[v]=u;
return true;
}
}
return false;
} int MaxMatch()
{
int u,ret=;
memset(yM,-,sizeof(yM));
for(u=;u<n;u++)
{
memset(vis,false,sizeof(vis));
if(SearchPath(u))
ret++;
}
return ret;
} int main()
{
int i,k,u,v;
while(scanf("%d",&n),n)
{
scanf("%d%d",&m,&k);
memset(map,,sizeof(map));
while(k--)
{
scanf("%d%d%d",&i,&u,&v);
if(u!=&&v!=) //如果有一个有0,则这个工作不用重启时间
map[u][v]=;
}
cout<<MaxMatch()<<endl;
}
return ;
}
poj1325的更多相关文章
- POJ-1325 Machine Schedule 二分图匹配 最小点覆盖问题
POJ-1325 题意: 有两台机器A,B,分别有n,m种模式,初始都在0模式,现在有k项任务,每项任务要求A或者B调到对应的模式才能完成.问最少要给机器A,B调多少次模式可以完成任务. 思路: 相当 ...
- ACM/ICPC 之 机器调度-匈牙利算法解最小点覆盖集(DFS)(POJ1325)
//匈牙利算法-DFS //求最小点覆盖集 == 求最大匹配 //Time:0Ms Memory:208K #include<iostream> #include<cstring&g ...
- POJ1325 Machine Schedule
Description As we all know, machine scheduling is a very classical problem in computer science and h ...
- POJ1325 Machine Schedule(二分图最小点覆盖集)
最小点覆盖集就是在一个有向图中选出最少的点集,使其覆盖所有的边. 二分图最小点覆盖集=二分图最大匹配(二分图最大边独立集) 这题A机器的n种模式作为X部的点,B机器的m种模式作为Y部的点: 每个任务就 ...
- POJ1325 Machine Schedule 【二分图最小顶点覆盖】
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11958 Accepted: 5094 ...
- 【二分图裸题】poj1325机器调度
题目大意:有两个机器A和B,A机器有n个模式,B机器有m个模式,两个机器最初在0模式 然后有k个作业,每个作业有三个参数i,a,b i代表作业编号,a和b代表第i作业要么在A机器的a模式下完成[或者] ...
- Machine Schedule poj1325
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17454 Accepted: 7327 ...
- POJ1325机器重启次数——二分图匈牙利算法模板
题目:http://poj.org/problem?id=1325 求最小点覆盖.输出最大匹配数就行,结果略复杂地弄了. 注意由题可知 可以直接把与0有关的边删掉.不过亲测不删0而计数时不计0就会WA ...
- poj1325(Machine Schedule)
题目链接:传送门 题目大意:有k个任务,可以在 A 机器的 x 位上完成,也可以在 B 机器的 y 位上完成.问最少需要多少个点位即可完成所有任务. 题目思路:求最小点覆盖. 把 A 机器,B 机器看 ...
- POJ1325(最小顶点覆盖)
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14429 Accepted: 6153 ...
随机推荐
- SpringMVC:学习笔记(5)——数据绑定及表单标签
SpringMVC——数据绑定及表单标签 理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 按照我们以往所学,如果要获取请求的所有参数 ...
- javascript;先弹出提示框,再跳转到其他页面。
context.Response.Write("<script>alert('删除成功!" + r.ToString() + "条');window.loca ...
- C51数据类型
- OpenGL学习进程(8)第六课:点、边和图形(三)绘制图形
本节是OpenGL学习的第六个课时,下面介绍OpenGL图形的相关知识: (1)多边形的概念: 多边形是由多条线段首尾相连而形成的闭合区域.OpenGL规定,一个多边形必须是一个“凸多边形”. ...
- Linux centos7 安装 keepalived-2.0.6
1.下载(版本:2.0.6) cd /home/install/ wget http://124.205.69.170/files/1255000006EF2AA1/www.keepalived.or ...
- Android 使用OpenCV的三种方式(Android Studio)
http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份,当时还是个菜 ...
- 亚马逊chime启用新顶级.aws域名后缀
自2013年12月亚马逊AWS公有云服务落地中国,亚马逊AWS在中国市场展开了一系列的活动,激发了国内开发者对亚马逊AWS云平台的热情. chime是亚马逊为客户提供视频会议领域的服务,而.aws是由 ...
- 一个最简单的JMeter测试流程
环境: JMeter 3.3 JDK 1.8 首先下载JMeter安装包 可以去官网下载. http://jmeter.apache.org/ 然后选择Download Windows系 ...
- js备忘录模式
备忘录(Memento):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 备忘录模式比较适用于功能比较复杂的,但需要维护或记录属性 ...
- Tensorflow中的命名空间scope
1.name_scope 在tensorflow中有两种声明变量的方式,tf.get_variable()和tf.Variable(). name_scope对于tf.get_variable()无效 ...