题意:一个城镇有n个路口,m条路。每条路单向,且路无环。现在派遣伞兵去巡逻所有路口,伞兵只能沿着路走,且每个伞兵经过的路口不重合。求最少派遣的伞兵数量。
建图之后的就转化成邮箱无环图的最小路径覆盖问题。注意伞兵经过的路口不重合,这很重要,否则需要用传递闭包(Floyd)来辅助建图。
最小路径覆盖覆盖=顶点数-最大匹配。
注意是 n - 最大匹配  不是2n
 
其实。。。我看原题好久 也没看出来   经过的路口不重合 这句话。。。英语烂是原罪。。。啊啊啊啊
 
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#define N 220 using namespace std; int mp[N][N],v[N],linker[N],n,m; int dfs(int t)
{
for(int i=;i<=n;i++)
{
if(!v[i]&&mp[t][i])
{
v[i]=;
if(linker[i]==-||dfs(linker[i]))
{
linker[i]=t;
return ;
}
}
}
return ;
} int hungary()
{
memset(linker,-,sizeof(linker));
int ans=;
for(int i=;i<=n;i++)
{
memset(v,,sizeof(v));
if(dfs(i)) ans++;
}
return ans;
} int main()
{
int T;
cin>>T;
while(T--)
{
cin>>n>>m;
memset(mp,,sizeof(mp));
for(int i=;i<m;i++)
{
int u,v;
scanf("%d%d",&u,&v);
mp[u][v]=;
}
cout<<n-hungary()<<endl;
}
}
注意是 n - 最大匹配  不是2n

hdu 1151 Air Raid 最小路径覆盖的更多相关文章

  1. (step6.3.4)hdu 1151(Air Raid——最小路径覆盖)

    题意:     一个镇里所有的路都是单向路且不会组成回路. 派一些伞兵去那个镇里,要到达所有的路口,有一些或者没有伞兵可以不去那些路口,只要其他人能完成这个任务.每个在一个路口着陆了的伞兵可以沿着街去 ...

  2. (hdu step 6.3.3)Air Raid(最小路径覆盖:求用最少边把全部的顶点都覆盖)

    题目: Air Raid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

  3. 【网络流24题----03】Air Raid最小路径覆盖

    Air Raid Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  4. HDU1151 Air Raid —— 最小路径覆盖

    题目链接:https://vjudge.net/problem/HDU-1151 Air Raid Time Limit: 2000/1000 MS (Java/Others)    Memory L ...

  5. POJ 1422 Air Raid (最小路径覆盖)

    题意 给定一个有向图,在这个图上的某些点上放伞兵,可以使伞兵可以走到图上所有的点.且每个点只被一个伞兵走一次.问至少放多少伞兵. 思路 裸的最小路径覆盖. °最小路径覆盖 [路径覆盖]在一个有向图G( ...

  6. Air Raid(最小路径覆盖)

    Air Raid Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7511   Accepted: 4471 Descript ...

  7. hdu 1151 Air Raid(二分图最小路径覆盖)

    http://acm.hdu.edu.cn/showproblem.php?pid=1151 Air Raid Time Limit: 1000MS   Memory Limit: 10000K To ...

  8. hdu - 1151 Air Raid(有向无环图的最小路径覆盖)

    http://acm.hdu.edu.cn/showproblem.php?pid=1151 在一个城市里有n个地点和k条道路,道路都是单向的,并且不存在环.(DAG) 现在伞兵需要去n个地点视察,伞 ...

  9. HDU 1151 Air Raid(最小路径覆盖)

    题目大意: 有n个城市,m条道路,城市的道路是单向.  现在我们的伞兵要降落在城市里,然后我门的伞兵要搜索所有道路.问我们最少占领多少个城市就可以搜索所有的道路了. 我们可以沿着道路向前走到达另一个城 ...

随机推荐

  1. Apple Watch应用开发之PM2.5查询

    最近脚伤,停止了跑步,看来又要胖了,不过最近倒是对Swift语言很感兴趣,然后就开始了Apple Watch应用的开发,今天是6月8日,苹果的发布会就会在今天过后的凌晨一点开始,今天还是有点小激动的, ...

  2. odoo之自动生成编号问题

    单独的seq.xml文件 <?xml version="1.0" encoding="utf-8"?><openerp> <dat ...

  3. 20155311《网络对抗》MSF基础应用

    20155311<网络对抗>MSF基础应用 实验过程 实验系统 靶机1:Windows XP Professional SP2 ,IP地址:192.168.136.129 靶机2:Wind ...

  4. P4292 [WC2010]重建计划

    无脑上二分+淀粉质完事了 每个子树算的时候把儿子按照最长路径从小到大依次做,和前面的单调队列算一波,每个儿子的复杂度不超过这个子树大小 // luogu-judger-enable-o2 #inclu ...

  5. [CF1039E]Summer Oenothera Exhibition[根号分治+lct]

    题意 给一个长度为 \(n\) 的序列, \(q\) 次询问,次给一个 \(k_i\) ,问最少将序列划分成多少次,满足每一段的极差不超过\(w−k_i\). \(1 \leq n, q \leq 1 ...

  6. Java 多线程(二)之 Thread 优先级

    目录 Thread 中线程优先级相关属性 相关函数 优先级初始化 设置优先级 获取优先级 默认优先级 指定优先级 注意事项 优先级继承 @ Thread 中线程优先级相关属性 每个线程均有优先级,在 ...

  7. 设计模式 笔记 策略模式 Strategy

    //---------------------------15/04/28---------------------------- //Strategy 策略模式----对象行为型模式 /* 1:意图 ...

  8. Js_特效II

    字号缩放 让文字大点,让更多的用户看的更清楚.(也可以把字体变为百分比来实现)<script type="text/javascript">  function doZ ...

  9. mssql循环记录之while方法

    1.定义变量 Declare @i Int 2.获取单条记录 Select @i=Min([id]) From [数据库名] Where <检索条件> 3.While循环 While @i ...

  10. symfon2 配置文件使用 + HttpRequest使用 + Global多语言解决方案

    1. 在 app/conig中建立一个自命名的文件: abc.yml 2. 在 app/config/config.yml中导入abc.yml 文件头部: imports:- { resource: ...