正题


题目

有n个中国学生与若干个外国学生,一些中国学生与外国学生之间可以很好的配对,求能配成的最多对数


解题思路

二分图匈牙利算法


代码

#include<cstdio>
#include<cstring>
using namespace std;
struct line{int x,y,next;
}a[10001];
int link[10001],n,m,ls[10001],xx,yy,s;
bool cover[10001];
bool find(int x)//寻找增广链
{int p=0;for (int q=ls[x];q;q=a[q].next)//邻接表枚举{if (!cover[a[q].y]){p=link[a[q].y];link[a[q].y]=x;//改变cover[a[q].y]=true;//标记if (!p || find(p)) return true;link[a[q].y]=p;//回退}}return false;
}
int main()
{scanf("%d%d",&n,&m);for (int i=1;i<=m;i++){scanf("%d%d",&yy,&xx);a[i].x=xx;a[i].y=yy;a[i].next=ls[xx];ls[xx]=i;}for (int i=1;i<=n;i++){memset(cover,false,sizeof(cover));if (find(i)) s++;}if (!s) printf("NO SOLUTION");else printf("%d",s);
}

ssl1335-最佳派对【二分图,最大匹配,图论】相关推荐

  1. ssl1333-地鼠的困境【二分图,最大匹配,图论】

    正题 大意 有n个地鼠有m个地洞,每只地鼠的速度都是v.若不在s秒之内回到地洞就会狗带,每只地洞只能躲一只地鼠,求能活下来多少只 代码 #include<cstdio> #include& ...

  2. 图论总结(一)二分图最大匹配

    二分图最大匹配 (一).二分图 1.定义 2.性质 3.判定 (二).二分图的匹配 1.二分图的最大匹配 2. König定理及其证明 3.最小边覆盖与最大独立集 (三).增广路径 1.定义 2.性质 ...

  3. 图论——入门级二分图最大匹配Bipartite Matching

    1.问题描述 我们先来了解一下相关图论的概念: 二分图:又称二部图.是图论中的一种特殊模型.设G=(V,E)是一个无向图,如果结点集V可分割为两个互不相交的子集(V1,V2),并且图中的每条边(i,j ...

  4. 图论--二分图最大匹配(匈牙利算法)--模板

    //二分图最大匹配数量 #include<cstdio> #include<cstring> #include<iostream> #include<queu ...

  5. python最长匹配_二分图最大匹配:匈牙利算法的python实现

    二分图匹配是很常见的算法问题,一般用匈牙利算法解决二分图最大匹配问题,但是目前网上绝大多数都是C/C++实现版本,没有python版本,于是就用python实现了一下深度优先的匈牙利算法,本文使用的是 ...

  6. 二分图判断以及二分图最大匹配

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

  7. 二分图最大匹配与其应用

    部分定义 传递闭包 一个图.如果图 G G G中点i" role="presentation">iii到点 j j j存在通路,那么在传递闭包中有边i−>j& ...

  8. 51Nod-2006 飞行员配对(二分图最大匹配,匈牙利算法)

    2006 飞行员配对(二分图最大匹配) 题目来源: 网络流24题 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 第二次世界大战时期,英国皇家空军从沦陷国征募 ...

  9. 匈牙利算法 求二分图最大匹配

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

最新文章

  1. 玩转android自定义控件二——自定义索引栏listview
  2. 信息检索的评价指标(Precision、Recall、F-score、MAP、ROC、AUC)
  3. 如何成为一个合格的算法工程师?这对你来说也许并不是很困难
  4. vijos P1740 聪明的质检员
  5. UIBackgroundTaskIdentifier 进入后台后结束任务再挂起APP
  6. thinkphp开发卡密社区系统
  7. html语言怎样设置密码类型,html – 在使用contenteditable div时模仿密码类型输入
  8. 31个用来测试你网站各项性能的免费在线工具
  9. unity打开htc vive 的前置摄像头 和 实现增强现实效果
  10. linux zookeeper开机启动
  11. jmeter进行http压力测试(图文小教程)
  12. realtek 8111E 网卡 修改MAC 地址
  13. 在别人的空间里看到的收藏在这里
  14. 如何在html中引入代码,如何在HTML页面引入javaScript代码
  15. 阿里中台彻底搞砸了?下一站,小中台大前台
  16. WLAN中的MIMO技术详解
  17. Linux主目录文件夹英文,中文Ubuntu主目录下的文件夹改回英文
  18. 深信服S5000-AC刷入 RouterOS 软路由 U盘PE下安装教程 (图文详解超详细)
  19. ltv价值 应用_手游LTV(用户终生价值)计算公式
  20. Unity 的协程的原理

热门文章

  1. c语言宏高级用法,C语言宏高级用法 [总结]
  2. java string底层实现_Java-学习日记(Shell与String底层原理)
  3. case when影响性能吗_字段为NULL会影响查询性能吗?
  4. java file rename 失败_java重命名文件造成文件不可读写
  5. android loading封装_我们经常用的Loading动画居然还有这种姿势
  6. groovy 字符串截取最后一个_Python入门高级教程--Python 字符串
  7. Pytorch中的 torch.as_tensor() 和 torch.from_numpy() 的区别
  8. html中的时间代码怎么写,html网页代码中的时间样式怎样设置
  9. mysql改表字段类型导致数据丢失_故障分析 | 记一次 MySQL 主从双写导致的数据丢失问题【转】...
  10. [PAT乙级]1039 到底买不买