匈牙利算法。

在于不停的找增广路。

#include<iostream>
#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;const int Maxn=555;vector<int >g[Maxn];
int from[Maxn],use[Maxn];int match(int x)
{for(int i=0;i<g[x].size();i++){if(!use[g[x][i]]){use[g[x][i]]=1;  //未被匹配if(from[g[x][i]]==-1||match(from[g[x][i]])){   //这个学生未被匹配或者匹配这个学生的课还有其他匹配from[g[x][i]]=x;return 1;}}}return 0;
}
int hungry(int n)
{int tot=0;memset(from,255,sizeof(from));    //清空为-1for(int i=1;i<=n;i++){memset(use,0,sizeof(use));if(match(i)) tot++;}return tot;
}
int main()
{int t;scanf("%d",&t);while(t--){int p,n,i,j;scanf("%d%d",&p,&n);for(i=1;i<=p;i++){g[i].clear();int temp;scanf("%d",&temp);for(j=0;j<temp;j++){int now;scanf("%d",&now);g[i].push_back(now);}}if(p==hungry(p)) printf("YES\n");else printf("NO\n");}return 0;
}

POJ 1469 匈牙利算法相关推荐

  1. Asteroids POJ - 3041 匈牙利算法+最小点覆盖König定理

    题意: 给出一个N*N的地图N   地图里面有K个障碍     你每次可以选择一条直线 消除这条直线上的所有障碍  (直线只能和列和行平行) 问最少要消除几次 题解: 如果(x,y)上有一个障碍 则把 ...

  2. POJ 2239 匈牙利算法

    思路:最大匹配 也是很裸的一道题-. // by SiriusRen #include <cstdio> #include <cstring> #include <alg ...

  3. 利用匈牙利算法Hopcroft-Karp算法解决二分图中的最大二分匹配问题 例poj 1469 COURSES...

    首先介绍一下题意:已知,有N个学生和P门课程,每个学生可以选0门,1门或者多门课程,要求在N个学生中选出P个学生使得这P个学生与P门课程一一对应. 这个问题既可以利用最大流算法解决也可以用匈牙利算法解 ...

  4. POJ - 1469 COURSES (匈牙利算法入门题)

    题意: P门课程,N个学生.给出每门课程的选课学生,求是否可以给每门课程选出一个课代表.课代表必须是选了该课的学生且每个学生只能当一门课程的. 题解: 匈牙利算法的入门题. #include < ...

  5. 二分图最大匹配(匈牙利算法) POJ 3020 Antenna Placement

    题目传送门 1 /* 2 题意:*的点占据后能顺带占据四个方向的一个*,问最少要占据多少个 3 匈牙利算法:按坐标奇偶性把*分为两个集合,那么除了匹配的其中一方是顺带占据外,其他都要占据 4 */ 5 ...

  6. poj 1469 COURSES

    2019独角兽企业重金招聘Python工程师标准>>> COURSES Time Limit: 1000MS Memory Limit: 10000K Total Submissio ...

  7. 二分图的最大匹配—匈牙利算法

    [基本概念]: 二分图: 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分 ...

  8. 二分图的最大匹配 匈牙利算法

    基本概念 1.二分图: 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别 ...

  9. [匈牙利算法] 最小点覆盖 König定理

    König定理: 一个二分图中的最大匹配数等于这个图中的最小点覆盖数. (你都能用最少的覆盖最多的还不是最大匹配数??) poj 1325 Machine Schedule [题目描述]有两部机器A和 ...

最新文章

  1. SpringCloud中Feign的适配器的实现方案
  2. 树莓派:在ubuntu20-server安装和卸载桌面
  3. PCB走线角度为90度到底行不行?
  4. 《C++ Primer》7.5.1节练习
  5. Java NIO编写Socket服务器的一个例子
  6. linux文件管理 - 系统目录结构
  7. 找到符合条件的索引_高频面试题:MySQL联合索引的最左前缀匹配原则
  8. Java学习(01-10天, 基本语法)
  9. ZOJ 1654 二分匹配基础题
  10. 【Modelsim】下载安装教程
  11. Python 项目打包各种依赖包
  12. 《欲罢不能:刷屏时代如何摆脱行为上瘾》书摘
  13. python一键电影搜索与下载
  14. 使用ID3算法实现决策树
  15. 飞猪官方揭秘双11爆款产品打造攻略:1个数据银行+5大设计方法论
  16. HTML基础 - HTML文本格式
  17. “五子登科”新解之“票子,房子,车子,妻子,孩子”
  18. PMP考纲改版又又又延期了
  19. 接口文档——Swagger
  20. 搜狗拼音输入法 打不了中文

热门文章

  1. MFC六大核心机制之五、六:消息映射和命令传递
  2. DLL入门浅析(2)——如何使用DLL
  3. javaScript 内存管理机制
  4. 第34讲:更好用的自动化工具 airtest 的使用
  5. 音视频技术开发周刊 78期
  6. 程序员妈妈的“work-life balance”,直面想象中的困难
  7. 微信搜一搜在线检索技术演进复盘
  8. 还在用 Win?教你从零把 Mac 打造成开发利器
  9. 威胁情报大会直击 | 企业IT部王森:腾讯企业终端安全管理最佳实践
  10. 《直播疑难杂症排查系列》之一 :播放失败