超级英雄[最大匹配]
传送门
第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;
}
超级英雄[最大匹配]相关推荐
- 正向最大匹配 和逆向最大匹配对比比较
正向最大匹配法 &逆向最大匹配法 原理对比 下面介绍的分词算法中最简单的正向最大匹配和反向最大匹配. 这种两种方法都是机械分词方法,它是按照一定的策略将待分析的汉字串与一个"充分大的 ...
- seg:NLP之正向最大匹配分词
已迁移到我新博客,阅读体验更佳seg:NLP之正向最大匹配分词 完整代码实现放在我的github上:click me 一.任务要求 实现一个基于词典与规则的汉语自动分词系统. 二.技术路线 采用正向最 ...
- 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)
在讲述这两个算法之前,首先有几个概念需要明白: 二分图: 二分图又称二部图,是图论中的一种特殊模型.设G=(V,E)是一个无向图,如果顶点V可以分割为两个互不相交的子集(A,B),并且图中的每条边( ...
- Hdu_2063 过山车 -最大匹配(邻接表版)
题目:就是最大匹配了 /************************************************ Author :DarkTong Created Time :2016/8/1 ...
- poj1274(最大匹配)
匈牙利算法:有两个集合 A,B, 两个集合间有多条边连接集合中的点, 且单个集合中的点各不相连, 求两集合的点能两两配对的最大匹配数. 思路:求解最大匹配数: 方法一: #include<ios ...
- Educational Codeforces Round 108(Rated for Div. 2) E - Off by One(一种一般图的边最大匹配,好题)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 CF1519E Weblink https://codeforces.com/contest/1519 ...
- luogu P4258 [WC2016]挑战NPC(一般图的最大匹配,带花树,建图、拆点技巧)
整理的算法模板合集: ACM模板 luogu P4258 [WC2016]挑战NPC 如果是一堆球一堆筐,每一个筐里只能放一个球,求最大能放多少个球, 那么就是一个二分图的最大匹配问题,非常简单,我们 ...
- 模板 - 一般图最大匹配(带花树)
整理的算法模板合集: ACM模板 目录 题目描述 给出一张 n 个点 m 条边的无向图,求该图的最大匹配. 总结一下带花树算法的流程 1.每次找一个未匹配的点出来增广 2.在增广过程中,如果相邻点是白 ...
- P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配)(完美匹配)
P5801 [SEERC2019]Game on a Tree(ACM - ICPC 2019)(树的最大匹配) 完美匹配:如果一个图的某个匹配中,所有的顶点都是匹配点,那么它就是一个完美匹配. #i ...
最新文章
- 三维场景图:用于统一语义、三维空间和相机的结构
- cmakelists 常见用法
- tuple 方法总结整理
- URLClassLoader的使用
- 微软人物立方——效果还很漂亮的
- canvas实现的喜羊羊图像效果
- 网络matlab程序_【Matlab】官网资源盘点
- 如何在Windows 10的地图应用程序中获取离线地图
- java压缩成.tar_java压缩tar.gz | 学步园
- python股票历史最低点_Python统计某一只股票每天的开盘,收盘,最高,最低价格!...
- C语言:强大的函数指针
- CentOS7 NTP server + keepalived
- 【CCCC】L2-016 愿天下有情人都是失散多年的兄妹 (25分),,搜索公共祖先
- 使用ld的wrap选项替换已有库函数
- 密码库LibTomCrypt学习记录——目录
- 老弟教你用CSS和JS实现曾经风靡一时的微信打飞机游戏
- 房地产数字化营销方案-蓝图
- Excel如何对多分隔符号数据进行分列
- 一些提供代理服务器IP列表的链接
- Windows Server - 如何查看机器的开机/关机时间
热门文章
- 持续交付基金会(CDF)首届中国本土化 Meetup 参会提醒
- js-输入两个数将最大的输出
- 城市智慧管廊方案设计
- 入职前端工程师你需要学会什么?前端实习生告诉你十大必备技能
- Java技能点--发起http GET POST请求
- 京东一面:MySQL 主备延迟有哪些坑?主备切换策略
- 关于嘉立创贴片下单流程及接单规范汇总
- Carson带你学设计模式:模板方法模式(Template Method)
- matlab优化问题约束不取等号6,matlab中fmincon函数中不含等号的边界值怎么设置?,matlab中的fmincon函数一直求不出为什么...
- 2022年推荐6G网络未来前景报告白皮书应用场景与分析概念及愿景展望关键技术(共55份,256M)