游戏 BZOJ
来源:互联网 发布:嘉年华st轮毂数据 编辑:程序博客网 时间:2024/06/05 15:49
题目传送门
思路:一个二分图最大匹配问题,但是这个题emmm,因为memset用的次数太多被卡常数了,然后就看到了一个神奇的做法,可以只清空一次数组的黑科技做法。
#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#include <set>#include <stack>#include <string>#include <vector>#define MAXN 1000100#define MAXE 10100#define INF 1e9#define MOD 100003#define LL long long#define ULL unsigned long long#define pi 3.14159using namespace std;vector<int> vec[MAXE];int vis[MAXN];int match[MAXN];bool dfs(int x, int y) { for (int i = 0; i < vec[x].size(); ++i) { int v = vec[x][i]; if (vis[v] != y) { vis[v] = y; if (match[v] == -1 || dfs(match[v], y)) { match[v] = x; return true; } } } return false;}int main() { std::ios::sync_with_stdio(false); int n; cin >> n; memset(match, -1, sizeof(match)); memset(vis, 0, sizeof(vis)); int x, y; for (int i = 1; i <= n; ++i) { cin >> x >> y; vec[x].push_back(i); vec[y].push_back(i); } int ans = 0; for (int i = 1; i <= 10000; ++i) { if (dfs(i, i)) { ans++; } else { break; } } cout << ans << endl; return 0;}
阅读全文
0 0
- 游戏 BZOJ
- [bzoj][SCOI2009]游戏
- bzoj 分裂游戏
- BZOJ 1854 游戏
- BZOJ 1025: [SCOI2009]游戏
- BZOJ 1025: [SCOI2009]游戏
- bzoj 1854: [Scoi2010]游戏
- 【bzoj 1025】: [SCOI2009]游戏
- bzoj 2121: 字符串游戏
- 【BZOJ 1025】 [SCOI2009]游戏
- 【BZOJ 1854】 [Scoi2010]游戏
- bzoj-1188 分裂游戏
- [BZOJ 1188]分裂游戏
- bzoj-3232 圈地游戏
- bzoj 3240 矩阵游戏
- bzoj 2121 字符串游戏
- BZOJ 1854[Scoi2010]游戏
- [BZOJ 1443]游戏Game
- 监听器(Listener 第一节)
- Jzoj4755 快速荷叶叶变换
- Ubuntu下caffe+CUDA8.0+OpenCv3.3+Python2.7环境配置
- mq 集群,基于zookeeper
- Java并发编程:ConcurrentHashMap原理分析(1.7与1.8)
- 游戏 BZOJ
- python---统计特定时间发布数量(列表、range、for、元组、字典)
- A game——hihoCoder173
- 自加运算
- HTTP POST GET详解
- c++中引用与指针的区别
- 使用Navicat导入或导出MySQL数据库
- 深度学习概述<二>追本溯源:深度学习基础
- 1. AngularJS+路由+JQuery:模糊查询过滤内容,下拉菜单排序,过滤敏感字符,验证判断后添加表格信息(路由显示添加页面)