大视野 1854 游戏 匈牙利算法
来源:互联网 发布:局域网内文件传输软件 编辑:程序博客网 时间:2024/05/18 02:39
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1854
一道二分图匹配,用匈牙利就好,加点优化就不会 TLE 了
其他的分析可以看看类似的题目
比如:http://www.lydsy.com/JudgeOnline/problem.php?id=1191
以及题解:http://blog.csdn.net/sunsn343/article/details/69359855
本题代码
#include<cstdio>#include<cstring>const int maxn = 1000500;int head[maxn], line[maxn], f[maxn];int n, m, tot, x, y;struct Edge { int u, v, next; Edge(int u = 0, int v = 0, int next = -1) : u(u), v(v), next(next) {}} e[maxn*2];void add_edge(int u, int v) { e[++tot] = (Edge){u, v, head[u]}; head[u] = tot;}bool dfs(int u, int t) { for(int i = head[u]; i != -1; i = e[i].next) { int v = e[i].v; if(f[v] == t) continue; f[v] = t; if(!line[v] || dfs(line[v], t)) { line[v] = u; return true; } } return false;}int solve(int n) { for(int i = 1; i <= n; i++) if(!dfs(i, i)) return i-1; return n;}int main() { memset(head, -1, sizeof(head)); scanf("%d", &n); for(int i = 1; i <= n; i++) { scanf("%d%d", &x, &y); add_edge(x, i); add_edge(y, i); } printf("%d\n", solve(n)); return 0;}
0 0
- 大视野 1854 游戏 匈牙利算法
- 大视野 1191 匈牙利算法
- 匈牙利(大视野1191,1854)
- 大视野_1191&1854
- 【bzoj 1854】[Scoi2010]游戏(匈牙利算法)
- BZOJ[1854][Scoi2010]游戏 匈牙利算法
- RPG游戏中的视野刷新算法
- RPG游戏中的视野刷新算法
- 棋盘游戏(匈牙利算法)
- SCOI2010游戏[匈牙利算法复习]
- BZOJ大视野 1059: [ZJOI2007]矩阵游戏 解题报告
- 大视野2038 小z的袜子 莫队算法
- hdu 1281棋盘游戏 匈牙利算法
- POJ 1281 棋盘游戏 匈牙利算法
- [ZJOI2007]矩阵游戏 二分图匈牙利算法
- HDU 1281 棋盘游戏(匈牙利算法)
- [SCOI2010]连续攻击游戏 匈牙利算法
- HDU1281 棋盘游戏(匈牙利算法,暴力)
- JVM配置参数
- 野谈系列之高性能可定制化分布式发号器
- vs2015+Qt5.8+opencv 显示一幅图像
- jetty下项目解压目录及其配置端口
- 响应式图片的几种解决方案
- 大视野 1854 游戏 匈牙利算法
- 关于 Segmentation fault的总结
- 最小堆的应用之哈弗曼树5.2
- operator--Python内部操作符对应的函数
- React学习之相关堆栈调解器的实现(三十七)
- 安装svn与项目部署
- 自定义圆角进度条,不是很难,却有一些需要注意的地方
- 通用日期格式化工具类DateUtil
- 浅述python中argsort()函数的用法