hdu 2119最小点集覆盖
用匈牙利就行,比较赤裸。
/** hdu2119/win.cpp* Created on: 2012-8-13* Author : ben*/ #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> using namespace std;const int MAXN = 210; int N, M, mymatch[MAXN]; bool visited[MAXN], mymap[MAXN][MAXN];bool buildgraph() {int t;scanf("%d", &N);if(N == 0) {return false;}scanf("%d", &M);memset(mymap, false, sizeof(mymap));for(int i = 0; i < N; i++) {for(int j = 0; j < M; j++) {scanf("%d", &t);if(t == 1) {mymap[i][j] = true;}}}return true; } bool dfs(int k) {int t;for (int i = 0; i < M; i++) {if (mymap[k][i] && !visited[i]) {visited[i] = true; t = mymatch[i]; mymatch[i] = k;if (t == -1 || dfs(t)) {return true;}mymatch[i] = t;}}return false; } int hungary () {memset(mymatch, -1, sizeof(mymatch));int ans = 0;for (int i = 0; i < N; i++) {memset(visited, false, sizeof(visited));if (dfs(i)) {ans++;}}return ans; }int main() { #ifndef ONLINE_JUDGEfreopen("data.in", "r", stdin); #endifwhile(buildgraph()) {printf("%d\n", hungary());}return 0; }
转载于:https://www.cnblogs.com/moonbay/archive/2012/08/14/2638714.html
hdu 2119最小点集覆盖相关推荐
- POJ 1325 Machine Schedule(二分图最小点集覆盖)
题目链接:http://poj.org/problem?id=1325 题意:A机器有n个模式,B机器有m个模式,有k个任务,第i个任务可以用A机器的ai模式或者B机器的bi模式,换模式需要重启,开始 ...
- POJ-2226 Muddy Fields 最小点集覆盖
题目链接:http://poj.org/problem?id=2226 这题是POJ 3041的升级版本,很有意思,要求木板不能盖在草地上.那么这里我们可以把每行一连续'*'的看做行,把每列连续的'* ...
- HDU - 1151 Air Raid(最小路径覆盖-二分图最大匹配)
题目链接:点击查看 题目大意:给出一个有向图,现在需要在不同的地方空降伞兵,保证所有伞兵沿着道路可以走完所有城市,求出最少伞兵的数量 题目分析:我们的目的是要用最少的路径覆盖所有顶点,换句话说就是二分 ...
- 最小路径覆盖,最小点覆盖,最大独立点集(转)
来自:http://blog.csdn.net/l04205613/article/details/6278394 node 1:最小路径覆盖 在一个PXP的有向图中,路径覆盖就是在图中找一些路经, ...
- 有向图最小路径覆盖方法浅析、证明 //hdu 3861
路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联. 对于一个有向无环图怎么求最小路径覆盖? 先构造二分图: 对于原图,先拆点,吧每个点i拆成ii,iii. ...
- HDU 3861 The King’s Problem (强连通缩点+DAG最小路径覆盖)
<题目链接> 题目大意: 一个有向图,让你按规则划分区域,要求划分的区域数最少. 规则如下:1.所有点只能属于一块区域:2,如果两点相互可达,则这两点必然要属于同一区域:3,区域内任意两点 ...
- HDU 3861 The King’s Problem 强连通分量 最小路径覆盖
先找出强连通分量缩点,然后就是最小路径覆盖. 构造一个二分图,把每个点\(i\)拆成两个点\(X_i,Y_i\). 对于原图中的边\(u \to v\),在二分图添加一条边\(X_u \to Y_v\ ...
- (hdu step 6.3.3)Air Raid(最小路径覆盖:求用最少边把全部的顶点都覆盖)
题目: Air Raid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- hdu 4160 (Dolls)二分图的最小路径覆盖
关于二分图,让人很头疼啊!归结为一句话,就是看不出来题目是二分图的问题. 也许是对二分图不太熟悉吧!需要多练习! 题目大意:给出n个箱子,每个箱子的参数为长,宽,高:(a,b,c):当且仅当箱子s1, ...
最新文章
- Linux下程序崩溃dump时的 core文件的使用方法
- Python基础03 序列
- oracle中year类型吗,为什么表名this_year_end+next_year在Oracle数据库中无效?()
- Opengl_20 _复习变换矩阵+复习光源+两个模型使用不同的shader
- 错误计算机怎么打开,电脑开机出错怎么回事
- 最新csdnJS逆向分析
- Data - 信息获取途径汇总
- java 队列总结queue v3 svv.docxjava 队列总结queue v3 svv.docx atitit. java queue 队列体系总结o7t 1. 队列概念	1 1.1. 队列
- cf406E Hamming Triples (推公式)
- 【转】网站挂马和端口抓鸡经验总结
- JDK1.8中HashMap如何应对hash冲突?
- 数据特征分析:帕累托分析(贡献度分析)
- 禁止html5手机端双击页面放大的问题,主要针对苹果手机
- 零售航母沃尔玛公布业绩:喜忧参半
- python3-函数与参数以及空值
- MP4/MPEG4/3GP转换软件至尊---《MP4/RM转换专家》小记
- java集合结构----集合框架以及背后的数据结构
- x10ti怎么禁用核显_第十代酷睿H性能提升了多少?8核16线程i7 10875H独家测试告诉你答案...
- 【动网论坛7.1 sp1 修改】-关于增加本帖地址[复制本页地址 粘贴]的修改方法...
- php 实心圆,Android利用drawable-xml自定义实心圆和空心圆