POJ3041 Asteroids
来源:互联网 发布:计算机java语言培训 编辑:程序博客网 时间:2024/05/22 15:17
传送门
二分图最大匹配,把行和列分别看做两个点集,求得是最小点覆盖集。
二分图最大匹配König定理:最大匹配数=最小点覆盖集,然后建好图以后直接套匈牙利算法模板
像我这种图论的渣渣,到现在还真的是图论只会套模板。。
#include <cstdio>#include <cstring>#include <vector>using namespace std;const int maxn = 555;const int n = 500;vector<int>g[maxn];int from[maxn], tot;bool use[maxn];bool match(int x){ for (int i = 0; i < g[x].size(); i++) if (!use[g[x][i]]){ use[g[x][i]] = 1; if (from[g[x][i]] == -1 || match(from[g[x][i]])){ from[g[x][i]] = x; return 1; } } return 0;}int hungary(){ tot = 0; memset(from, 255, sizeof(from)); for (int i = 1; i <= n; i++){ memset(use, 0, sizeof(use)); if (match(i)) tot += 1; } return tot;}int main(){ int n, k; while(~scanf("%d%d", &n, &k)){ for (int i = 0; i < maxn; i++) g[i].clear(); while(k--){ int x, y; scanf("%d%d", &x, &y); g[x].push_back(y); } int ans = hungary(); printf("%d\n", ans); } return 0;}
- POJ3041 Asteroids
- poj3041 asteroids
- poj3041 Asteroids
- POJ3041----Asteroids
- poj3041 - Asteroids
- Asteroids poj3041
- POJ3041 Asteroids
- poj3041 Asteroids
- poj3041 Asteroids
- POJ3041:Asteroids
- poj3041 Asteroids
- POJ3041 - Asteroids
- POJ3041 Asteroids
- Asteroids poj3041
- poj3041 Asteroids
- poj3041 Asteroids
- POJ3041-Asteroids
- POJ3041-Asteroids
- Delphi for iOS开发指南(序):Delphi iOS应用程序开发
- hibernate merge与update区别(转载)
- 软件测试(网页自动测试Selenium)
- t420风扇控制
- cocos2d-x 基于CCClippingNode实现CCLayer遮罩功能,在滑动时超出剪切区域的实现显示部分的效果,不需要再借助其他sprite来遮挡了
- POJ3041 Asteroids
- 汇编重点
- codeforces Beautiful Numbers
- c++builder2010安装AlphaControls v7.66
- nc命令详解
- 采集音频和摄像头视频并实时H264编码及AAC编码
- C和C++中的一些问题
- POJ3259 spfa判负回路
- 在普通用户下进入root用户