指引

jzoj 2319

题目大意:

在平面上有n个人和出口,一个出口只能让一个人进,每个人只能向右向上走,问最多让多少个人到出口

输入样例:

6
3
2 0
3 1
1 3
4 2
0 4
5 5

输出样例:

2

解题思路:

直接用匈牙利算法(详情见https://blog.csdn.net/ssllyf/article/details/86657342)计算最大匹配即可

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int t,n,xx,yy,tot,ans,x[1050],y[1050],ck[1050],p[1050],head[1050];
struct rec
{int to,next;
}a[1000500];
bool hg(int dep)//匈牙利算法
{for (int i=head[dep];i;i=a[i].next)if (!p[a[i].to]){int l=ck[a[i].to];ck[a[i].to]=dep;p[a[i].to]=1;if(!l||hg(l)) return true;ck[a[i].to]=l;}return false;
}
int main()
{scanf("%d %d",&t,&n);for (int i=1;i<=n;++i)scanf("%d %d",&x[i],&y[i]);for (int i=1;i<=n;++i){scanf("%d %d",&xx,&yy);for (int j=1;j<=n;++j)if (x[j]<=xx&&y[j]<=yy){a[++tot].to=i;//连边a[tot].next=head[j];head[j]=tot;}}for (int i=1;i<=n;++i){memset(p,0,sizeof(p));if(hg(i)) ans++;}printf("%d",ans);return 0;
}

【匈牙利算法】指引(jzoj 2319)相关推荐

  1. 【Floyed】【匈牙利算法】导弹(jzoj 1610)

    题目大意: 有n个城市,有一部分是A国的,有一部分是B国的(小于A国的),A国每个城市都有一枚导弹(只有一枚),炸毁别的城市的时间是到这个城市的距离,请问A国最快要多久可以炸毁B国所有城市 解题思路: ...

  2. 二分图匹配匈牙利算法DFS实现

    1 /*==================================================*\ 2 | 二分图匹配(匈牙利算法DFS 实现) 3 | INIT: g[][]邻接矩阵; ...

  3. 解题报告:luogu P2423 [HEOI2012]朋友圈【最大团转最大点独立集(匈牙利算法+时间戳优化)】

    图的最大团:"任意两点之间都有一条边相连"的子图被称为无向图的团,点数最多的团为图的最大团 朋友圈中任意两个点之间都有关系,既是图中的团. 答案就是图中的最大团. 我们如果把B国的 ...

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

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

  5. 二分图匹配的匈牙利算法

    匈牙利算法,很绕,其实写起来也就一点点长度.. bool find(int a){int i,j;for(i=head[a];i;i=next[i]){j=to[i];//获得相邻的点if(!unab ...

  6. 二分图-匈牙利算法模板

    二分图就不赘述了,我在知识资料整理有相关资料. .最大匹配  .最小路径覆盖  .最小点覆盖  .最大独立集 最大匹配:二分图中边集最大的那个匹配 最小路径(边)覆盖:用尽量小的不想交简单路径覆盖有向 ...

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

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

  8. BZOJ 1433 Luogu P2055 [ZJOI2009]假期的宿舍 匈牙利算法

    刚学了匈牙利正好练练手(我不会说一开始我写错了)(怕不是寒假就讲了可是我不会) 把人看做左部点,床看作右部点 建图:(!!在校相当于有床,不在校相当于没有床 但是要来学校) 1.在校的 不走的人 自己 ...

  9. 匈牙利算法学习笔记_Python代码

    学习华为上机测试题,遇见了下面题,很有意思,核心是匈牙利算法问题. 特此学习记录.资料均参考自网络. 匈牙利算法目的:找出两边最大的匹配的数量. 参考资料: https://blog.csdn.net ...

最新文章

  1. 盘点2021年九大最好用的人脸识别软件
  2. 22.类对象和类指针
  3. 手把手教你C语言静态库的开发
  4. 对于linux下指令的进一步扩充与巩固
  5. 只读副本和Spring Data第1部分:配置数据库
  6. 行!看到抖音上Python程序员晒得工资条,我沉默了......
  7. 移动标准差以及移动平均值(movstd、movmean)
  8. mysql 去重 根据id_mysql去重,只留一个(id最小的)
  9. 医院耗材管理系统开发_12
  10. 机器视觉——目标跟踪
  11. unity3D一些教程
  12. NYOJ-求和求到手软(抖机灵题)
  13. Tableau实战 Tableau官网各版块访问情况(一 ~ 四汇总)仪表盘
  14. FPGA:开发环境Vivado的使用
  15. 【对讲机的那点事】玩对讲机,你必须要了解的技术指标(下)
  16. ffmpeg js转换音频_webRTC使用ffmpeg.js将webm转换为mp4
  17. ByRef和ByVal
  18. 推动计算机革命的幕后黑手
  19. php的登录页面怎么弄,php登录界面_php简单登录页面
  20. 计算机电源怎么设置玩游戏不卡,端游绝地求生怎么设置不卡

热门文章

  1. java疯狂讲义内存分配_java疯狂讲义学习:面向对象(上)
  2. Typora markdown公式换行等号对齐_下了31个markdown编辑器,我就不信选不出一个好用的...
  3. python函数模块化教程_【软件测试教程】Python模块化以及内置模块的使用
  4. hbase shell远程连接_hbase与phoenix集成
  5. 矩阵模拟问题合集(Leetcode题解-Python语言)
  6. [Java基础]字节缓冲流
  7. 算法-找出最近点对问题
  8. 数据结构与算法--二叉查找树实现原理
  9. python输入数据爬取_python根据用户需求输入想爬取的内容及页数爬取图片方法详解...
  10. 微软100题第20题