HDU1151 Air Raid
原题传送:http://acm.hdu.edu.cn/showproblem.php?pid=1151
DAG图的最小路径覆盖数 = 节点数(n)- 最大匹配数(m)
所以,关键是求二分图的最大匹配数,上匈牙利就行了。
1 #include <iostream> 2 #include <string.h> 3 #include <cstdio> 4 using namespace std; 5 6 const int M=120 + 2; 7 bool g[M][M],visit[M]; 8 int link[M],m,n,k; 9 10 bool find(int i) 11 { 12 int j; 13 for(j=1;j<=n;j++) 14 { 15 if(g[i][j] && !visit[j]) 16 { 17 visit[j]=true; 18 if(!link[j] || find(link[j])) 19 { 20 link[j]=i; 21 return true; 22 } 23 } 24 } 25 return false; 26 } 27 28 int main() 29 { 30 int i,j,res,T; 31 cin >> T; 32 while(T --) 33 { 34 cin >> n >> m; 35 memset(g,false,sizeof(g)); 36 memset(link,false,sizeof(link)); 37 for(int k = 0; k < m; k ++) 38 { 39 cin>>i>>j; 40 g[i][j]=true; 41 } 42 for(res=0,i=1;i<=n;i++) 43 { 44 memset(visit,0,sizeof(visit)); 45 if(find(i)) 46 res++; 47 } 48 cout<<n-res<<endl; 49 } 50 return 0; 51 }
转载于:https://www.cnblogs.com/huangfeihome/archive/2012/11/24/2785672.html
HDU1151 Air Raid相关推荐
- HDU-1151 Air Raid
给定一个有向无环图[DAG图] 求最小路径覆盖... 每个店出入分离成两个点,然后求二分图的最大匹配,最小路径覆盖=总点数-最大匹配数 #include <cstdlib> #includ ...
- (hdu step 6.3.3)Air Raid(最小路径覆盖:求用最少边把全部的顶点都覆盖)
题目: Air Raid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- 随便听听 Day 2:US ‘smart bombs‘ hit an Iraqi air raid shelter.
随便听听 Day 2:US 'smart bombs' hit an Iraqi air raid shelter. sortie 架次(军用的飞机或者船只) civil defence 民防 dra ...
- HDU - 1151 Air Raid(最小路径覆盖-二分图最大匹配)
题目链接:点击查看 题目大意:给出一个有向图,现在需要在不同的地方空降伞兵,保证所有伞兵沿着道路可以走完所有城市,求出最少伞兵的数量 题目分析:我们的目的是要用最少的路径覆盖所有顶点,换句话说就是二分 ...
- POJ 1422 Air Raid (最小路径覆盖)
题意 给定一个有向图,在这个图上的某些点上放伞兵,可以使伞兵可以走到图上所有的点.且每个点只被一个伞兵走一次.问至少放多少伞兵. 思路 裸的最小路径覆盖. °最小路径覆盖 [路径覆盖]在一个有向图G( ...
- POJ 1422 Air Raid
二分图的最少边匹配,即找出最少的边可以覆盖所有的点.用匈牙利算法找出最大匹配,则最终结果为:ans = 图的顶点数 - 最大匹配. 代码如下: 1 #include<iostream> 2 ...
- HDU 1151 Air Raid
DAG的最小路径覆盖 #include<stdio.h> #include<iostream> #include<algorithm> #include<st ...
- hdu1151Air Raid poj2594Treasure Exploration题解
Air Raid 题目的意思就是给一个有向无环图,求从最少的点出发,不能重复的走完所有点.其实就是有向无环图的最小路径覆盖. 有向无环图的最小路径覆盖=节点数-匹配数(拆点) //建图,有向无环图的最 ...
- kuangbin带你飞专题合集
题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...
最新文章
- 这本书让我摆脱了被数学支配的恐惧!
- MySQL-通过MaxScale实现读写分离初探
- WPF中设置了WindowStyle=None后,窗口仍然有边框的解决方法
- P2617 Dynamic Rankings(整体二分)
- html5 dropdownlist,使用HTML5 FindByValue下拉列表(html5 dropdownlist using F
- 程序员面试金典——4.7最近公共祖先
- 添加谷歌账户显示与服务器,解决添加google同步帐户出错竟然可以这般简单!
- CentosRedhat下bcm43142博通无线网卡linux驱动之二
- 欢迎来到Wagtail的文档
- 多线程学习-基础( 十)一个synchronized(){/*代码块*/}简单案例分析
- win10服务器网页打不开怎么办,win10系统浏览器网页打不开的解决技巧
- Android案例手册 - Android Studio连接夜神模拟器和逍遥模拟器
- 人工智能导论 第二章 搜索技术
- 有保证的复制消除(Guaranteed Copy Elision)
- HDU-6555-The Fool(整除分块)
- ng 无法加载文件 C:\Users\hl\AppData\Roaming\npm\ng.ps1 解决方法
- 文献检索是利用计算机对文献,《文献检索与利用》教学大纲(文)
- 计蒜客题解——T1414:抠图
- C语言C程序的构成,C语言程序的构成.doc
- Ubuntu下jperf的安装
热门文章
- ASP.NET经典How to do文章汇总
- Python的open函数文件读写线程不安全,logging模型文件读写线程安全!
- bat 批量提取指定目录下的文件
- java创建文件和目录
- WIN7安装及配置JDK
- twitter 监控登陆活动
- Java中关于==和equal的区别 以及equals()方法重写
- c#中获取服务器IP,客户端IP以及其它
- 计算机word考试试题答案,计算机word考试-试题1(附答案解析).doc
- gz键盘增强小工具_这些不起眼的Mac小工具,能让你的Macbook效率倍增!