匈牙利算法

目前为止还是半懂不懂的状态

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,k;
int mp[][];//邻接矩阵
int vis[];//B集中访问标记
int link1[];//B集中点i匹配的A中元素
int pd(int a){
int i,j;
for(i=;i<m;i++){
if(!vis[i] && mp[a][i]){
vis[i]=;
if(link1[i]==- || pd(link1[i]))//若B集中i未匹配,或者其匹配的A中元素有其他匹配
{
link1[i]=a;
return ;
}
}
}
return ;
}
int main(){
while(scanf("%d",&n) &&n!=){
scanf("%d%d",&m,&k);
int i,j;
int u,v;
memset(mp,,sizeof(mp));
for(i=;i<=k;i++){
scanf("%d%d%d",&j,&u,&v);//第一个数据是序号,并没有用
if(u>&&v>)mp[u][v]=;//如果出点或者入点为0,机器初始状态即可解决
}
memset(link1,-,sizeof(link1));
int ans=;
for(i=;i<n;i++){
memset(vis,,sizeof(vis));
if(pd(i))ans++;
}
printf("%d\n",ans);
}
return ;
}

HDU1150 Machine Schedule的更多相关文章

  1. HDU1150 Machine Schedule(二分图最大匹配、最小点覆盖)

    As we all know, machine scheduling is a very classical problem in computer science and has been stud ...

  2. hdu1150 Machine Schedule 经典二分匹配题目

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1150 很经典的二分题目 就是求最小点覆盖集 二分图最小点覆盖集=最大匹配数 代码: #include& ...

  3. POJ 1325 Machine Schedule——S.B.S.

    Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13731   Accepted: 5873 ...

  4. hdu 1150 Machine Schedule 最少点覆盖转化为最大匹配

    Machine Schedule Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...

  5. Machine Schedule

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. hdu-----(1150)Machine Schedule(最小覆盖点)

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. poj 1325 Machine Schedule 二分匹配,可以用最大流来做

    题目大意:机器调度问题,同一个任务可以在A,B两台不同的机器上以不同的模式完成.机器的初始模式是mode_0,但从任何模式改变成另一个模式需要重启机器.求完成所有工作所需最少重启次数. ======= ...

  8. hdoj 1150 Machine Schedule【匈牙利算法+最小顶点覆盖】

    Machine Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. POJ1325 Machine Schedule 【二分图最小顶点覆盖】

    Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11958   Accepted: 5094 ...

随机推荐

  1. Android 中的 Service 全面总结

    1.Service的种类   按运行地点分类: 类别 区别  优点 缺点   应用 本地服务(Local) 该服务依附在主进程上,  服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另 ...

  2. HTML5 — 让拖放变的流行起来

    先上 Demo,尽量用 chrome,代码可参考 Github. 在 HTML5 出现之前,页面元素的拖放需要监听 mousedown.mouseover 以及 mouseup 等一系列事件,然后改变 ...

  3. versionCompare 版本号比较工具

    简介 需求非常简单,需要比较软件或app的版本号,判断大小,形如 0.10.2形式的版本号字符串.实现逻辑是按照点(.)分割字符串,然后逐级比较版本大小.不存在的按0处理,空字符串小于非空字符串. 测 ...

  4. 使用docker发布spring cloud应用

    本文涉及到的项目: cloud-simple-docker:一个简单的spring boot应用 Docker是一种虚拟机技术,准确的说是在linux虚拟机技术LXC基础上又封装了一层,可以看成是基于 ...

  5. 单从Advice(通知)实现AOP

    如果你在实际开发中没感觉到OOP的一些缺陷,就不要往下看了! 如果你不了解AOP,或类似AOP的思路,请先去了解一下AOP相关的认识. 如果你是概念党,或是经验党,或是从众党,也请不要看了! 我实现的 ...

  6. 网页倒计时,动态显示"××年还剩××天××时××分××秒"

    var target = document.getElementById('target'); function getTimeString(){ // 要计算任意两个日期的时间差只要修改curren ...

  7. xshell4|5远程连接工具

    志同道合,方能谈天说地! 对比其他的工具,对于功能来说xshell是比较厉害的.有能力的可以支持正版! Xshell4 链接: http://pan.baidu.com/s/1jHAgboa 密码: ...

  8. 关于insert /*+ append*/ 各种insert插入速度比较

    来源于:http://www.cnblogs.com/rootq/archive/2009/02/11/1388043.html SQL> select count(*) from t;COUN ...

  9. zabbix 监控MySQL

    现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...

  10. 9.29判断变量x是奇数还是偶数

    方法一: package qqq; public class Jiou { public static void main(String[] args) { // TODO Auto-generate ...