[BZOJ1191][HNOI2006]超级英雄Hero(二分图匹配)
来源:互联网 发布:c语言打砖块小游戏 编辑:程序博客网 时间:2024/05/16 02:46
题目描述
传送门
题解
二分图匹配问题,裸匈牙利算法。
暴力看哪个店第一个不能被匹配。
代码
#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define N 5005int n,m,x,y,ans;int tot,point[N],nxt[N*2],v[N*2];int belong[N],vis[N];void add(int x,int y){ ++tot; nxt[tot]=point[x]; point[x]=tot; v[tot]=y; ++tot; nxt[tot]=point[y]; point[y]=tot; v[tot]=x;}bool find(int x,int k){ for (int i=point[x];i;i=nxt[i]) if (vis[v[i]]!=k) { vis[v[i]]=k; if (!belong[v[i]]||find(belong[v[i]],k)) { belong[v[i]]=x; return true; } } return false;}int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=m;++i) { scanf("%d%d",&x,&y);x++,y++; add(i,m+x);add(i,m+y); } for (int i=1;i<=m;++i) if (!find(i,i)) { printf("%d\n",i-1); return 0; } printf("%d\n",m);}
0 0
- [BZOJ1191][HNOI2006]超级英雄Hero(二分图匹配)
- bzoj1191: [HNOI2006]超级英雄Hero(二分图匹配)
- bzoj1191 [HNOI2006]超级英雄Hero(二分图最大匹配)
- [BZOJ1191][HNOI2006][二分图匹配][匈牙利算法]超级英雄hero
- 【bzoj1191】 HNOI2006超级英雄Hero 二分图匹配
- 【BZOJ1191】[HNOI2006]超级英雄Hero【二分图匹配】
- 【bzoj1191】【HNOI2006】【超级英雄】【Hero】【二分图匹配】
- [HNOI2006][BZOJ1191][二分图匹配]超级英雄HERO
- BZOJ1191(HNOI2006)[超级英雄Hero]--二分图最大匹配
- bzoj1191: [HNOI2006]超级英雄Hero 裸二分匹配
- [bzoj1191][二分图匹配]超级英雄Hero
- bzoj1191 超级英雄Hero[二分图匹配]
- [Bzoj1191][HNOI2006]超级英雄Hero
- bzoj1191: [HNOI2006]超级英雄Hero
- [BZOJ1191][HNOI2006]超级英雄Hero
- 【HNOI2006】【BZOJ1191】超级英雄Hero
- bzoj1191[HNOI2006]超级英雄Hero
- BZOJ1191 [HNOI2006]超级英雄Hero
- 关于Java内存泄漏及如何检测
- PHP的几种加密解密算法
- Java多线程共享资源
- 读入带空格的字符串方法(小知识)
- OCUpload、pinyin4j、poi简单入门
- [BZOJ1191][HNOI2006]超级英雄Hero(二分图匹配)
- 指针
- Ubuntu 16.04修改Home目录下的中文目录为英文
- 由浅入深分析python修饰器
- POJ 3279/BZOJ 1647: [Usaco2007 Open]Fliptile 翻格子游戏
- bzoj 1007 水平可见直线 半平面交
- Android开发——Accessibility机制实现模拟点击(微信自动抢红包实现)
- 带表头节点的循环单向链表
- (一)Solr介绍