传送门

第i轮向妙计建边 , 然后跑最大匹配

发现第i个找不到的时候就可以break 然后输出答案了


#include<bits/stdc++.h>
#define N 1050
#define M 100050
using namespace std;
int first[N],next[M],to[M],tot;
int n,m,vis[N],match[N],cnt,ans[N];
void add(int x,int y){next[++tot]=first[x],first[x]=tot,to[tot]=y;
}
bool find(int u){for(int i=first[u];i;i=next[i]){int t=to[i]; if(!vis[t]){vis[t]=1;if(!match[t] || find(match[t])){match[t]=u; return true;}}}return false;
}
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int x,y; scanf("%d%d",&x,&y); ++x,++y;add(i,x) , add(i,y);}for(int i=1;i<=n;i++){memset(vis,0,sizeof(vis));if(!find(i)) break; cnt++;} for(int i=1;i<=n;i++) ans[match[i]]=i;printf("%d\n",cnt);for(int i=1;i<=cnt;i++) printf("%d\n",ans[i]-1);return 0;
}

超级英雄[最大匹配]相关推荐

  1. 正向最大匹配 和逆向最大匹配对比比较

    正向最大匹配法 &逆向最大匹配法 原理对比 下面介绍的分词算法中最简单的正向最大匹配和反向最大匹配. 这种两种方法都是机械分词方法,它是按照一定的策略将待分析的汉字串与一个"充分大的 ...

  2. seg:NLP之正向最大匹配分词

    已迁移到我新博客,阅读体验更佳seg:NLP之正向最大匹配分词 完整代码实现放在我的github上:click me 一.任务要求 实现一个基于词典与规则的汉语自动分词系统. 二.技术路线 采用正向最 ...

  3. 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)

    在讲述这两个算法之前,首先有几个概念需要明白: 二分图:  二分图又称二部图,是图论中的一种特殊模型.设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B),并且图中的每条边( ...

  4. Hdu_2063 过山车 -最大匹配(邻接表版)

    题目:就是最大匹配了 /************************************************ Author :DarkTong Created Time :2016/8/1 ...

  5. poj1274(最大匹配)

    匈牙利算法:有两个集合 A,B, 两个集合间有多条边连接集合中的点, 且单个集合中的点各不相连, 求两集合的点能两两配对的最大匹配数. 思路:求解最大匹配数: 方法一: #include<ios ...

  6. Educational Codeforces Round 108(Rated for Div. 2) E - Off by One(一种一般图的边最大匹配,好题)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 CF1519E Weblink https://codeforces.com/contest/1519 ...

  7. luogu P4258 [WC2016]挑战NPC(一般图的最大匹配,带花树,建图、拆点技巧)

    整理的算法模板合集: ACM模板 luogu P4258 [WC2016]挑战NPC 如果是一堆球一堆筐,每一个筐里只能放一个球,求最大能放多少个球, 那么就是一个二分图的最大匹配问题,非常简单,我们 ...

  8. 模板 - 一般图最大匹配(带花树)

    整理的算法模板合集: ACM模板 目录 题目描述 给出一张 n 个点 m 条边的无向图,求该图的最大匹配. 总结一下带花树算法的流程 1.每次找一个未匹配的点出来增广 2.在增广过程中,如果相邻点是白 ...

  9. P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配)(完美匹配)

    P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配) 完美匹配:如果一个图的某个匹配中,所有的顶点都是匹配点,那么它就是一个完美匹配. #i ...

最新文章

  1. 三维场景图:用于统一语义、三维空间和相机的结构
  2. cmakelists 常见用法
  3. tuple 方法总结整理
  4. URLClassLoader的使用
  5. 微软人物立方——效果还很漂亮的
  6. canvas实现的喜羊羊图像效果
  7. 网络matlab程序_【Matlab】官网资源盘点
  8. 如何在Windows 10的地图应用程序中获取离线地图
  9. java压缩成.tar_java压缩tar.gz | 学步园
  10. python股票历史最低点_Python统计某一只股票每天的开盘,收盘,最高,最低价格!...
  11. C语言:强大的函数指针
  12. CentOS7 NTP server + keepalived
  13. 【CCCC】L2-016 愿天下有情人都是失散多年的兄妹 (25分),,搜索公共祖先
  14. 使用ld的wrap选项替换已有库函数
  15. 密码库LibTomCrypt学习记录——目录
  16. 老弟教你用CSS和JS实现曾经风靡一时的微信打飞机游戏
  17. 房地产数字化营销方案-蓝图
  18. Excel如何对多分隔符号数据进行分列
  19. 一些提供代理服务器IP列表的链接
  20. Windows Server - 如何查看机器的开机/关机时间

热门文章

  1. 持续交付基金会(CDF)首届中国本土化 Meetup 参会提醒
  2. js-输入两个数将最大的输出
  3. 城市智慧管廊方案设计
  4. 入职前端工程师你需要学会什么?前端实习生告诉你十大必备技能
  5. Java技能点--发起http GET POST请求
  6. 京东一面:MySQL 主备延迟有哪些坑?主备切换策略
  7. 关于嘉立创贴片下单流程及接单规范汇总
  8. Carson带你学设计模式:模板方法模式(Template Method)
  9. matlab优化问题约束不取等号6,matlab中fmincon函数中不含等号的边界值怎么设置?,matlab中的fmincon函数一直求不出为什么...
  10. 2022年推荐6G网络未来前景报告白皮书应用场景与分析概念及愿景展望关键技术(共55份,256M)