HDU 3279 二分图最大匹配
2015-08-05 09:24
387 查看
DES: 就是说对每个人都给你一个区间。但一个人只匹配一个数。问你满足匹配的人的序号字典序最大时的最大匹配是什么。
前几天刚做的UVALive 6322...当然是不一样的...那个要求的最大匹配的个数...求V2的最小字典序...这个呢...就是最大匹配中V1字典序最小是多少...(已晕菜)
大概理解了算法工作流程...对每一个V1中的位置...寻找匹配...直到找不到增广路算法结束...先匹配谁就可以先满足它的匹配咯...(是吗...)
LOoK
前几天刚做的UVALive 6322...当然是不一样的...那个要求的最大匹配的个数...求V2的最小字典序...这个呢...就是最大匹配中V1字典序最小是多少...(已晕菜)
大概理解了算法工作流程...对每一个V1中的位置...寻找匹配...直到找不到增广路算法结束...先匹配谁就可以先满足它的匹配咯...(是吗...)
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; int n; int g[70][100010]; int vis[100010]; int link[100010]; int m; int minn, maxx; int dfs(int x) { for (int y=minn; y<=maxx; ++y) { if (!vis[y] && g[x][y]) { vis[y] = 1; if (link[y] == 0 || dfs(link[y])) { link[y] = x; return 1; } } } return 0; } void search() { for (int x=n; x>=1; --x) { memset(vis, 0, sizeof(vis)); if (dfs(x)) m++; } } int main() { int t; cin >> t; while(t--) { cin >> n; m = 0; memset(g, 0, sizeof(g)); memset(vis, 0, sizeof(vis)); memset(link, 0, sizeof(link)); minn = 100010, maxx = -1; for (int i=1; i<=n; ++i) { int x, y; cin >> x >> y; if (minn > x) minn = x; if (maxx < y) maxx = y; for (int j=x; j<=y; ++j) { g[i][j] = 1; } } search(); cout << m << endl; int ans[70]; memset(ans, 0, sizeof(ans)); int cnt = 0; for (int x=minn; x<=maxx; ++x) { if (link[x] != 0) { ans[cnt++] = link[x]; } } sort(ans, ans+cnt); for (int i=0; i<cnt; ++i) { if (i != 0) cout << ' '; cout << ans[i]; } cout << endl; } return 0; }
LOoK
相关文章推荐
- PHP项目:如何用PHP高并发检索数据库?
- 【jdk】Parsing Data for android-22 failed Unsupported major.minor version 51.0
- lua-把table中的元素按照key的ascii码升序排序并组装成key-value的xml格式
- android 消息提示框点击“确定”按钮后,不能及时关闭提示框的解决方案
- 四川省上半年4G用户增长658万 总数达1162万---OFweek
- 页面导航实现
- POJ 3368 Frequent values RMQ 训练指南 好题
- 南邮 OJ 1136 Happy Children’s Day
- redis实现 spring-redis-data初学习
- java 字节流与字符流的区别
- Gradle 1.12用户指南翻译——第三十九章. IDEA 插件
- Gradle 1.12用户指南翻译——第三十九章. IDEA 插件
- java中Timer因修改系统时间致使任务被挂起的原因
- 批量修改文件和文件夹权限
- mysqld_safe启动报错
- SSH 案例学习总结(二)
- Edison Ubilinux Access Point
- 快速排序总结
- Android Studio导入GitHub上的项目常见问题(以图片轮播开源项目为实例)
- 南邮 OJ 1135 Missile