题目链接: https://vjudge.net/problem/POJ-3020 题目大意: 一个n*m的方阵 一个雷达可覆盖两个*,一个*可与四周的一个*被覆盖,一个*可被多个雷达覆盖问至少需要多少雷达能把所有的*覆盖 解题思路: 把每个*城市编号,然后每相邻两个城市之间连线.这里求最少多少个雷达可以覆盖完*,就是二分图匹配中的最小路径覆盖数,但是这里的图的边是双向的.举个例子 o*o **o ooo 这里可以编号成 010 230 000 那么有边<1,3><3,1><…
<题目链接> 题目大意:一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,每放置一个基站,至多可以覆盖相邻的两个城市.问至少放置多少个基站才能使得所有的城市都覆盖无线? 解题分析:将这n个城市看成二分图中的点集,基站匹配的圆圈看成两个点集之间的连线,要使圆圈圈住所有的点,即该二分图中所有的点都必须有线连接,并且使连接的线段条数最少.自然而然,本题就转化为了二分图的最小路径覆盖问题,用最少的边数,去覆盖所有的点. 二分图的最小路径覆盖 = 顶点数 – 最大匹配数(因为本题是无向的,所以最…
POJ 1422 Air Raid 题目链接 题意:给定一个有向图,在这个图上的某些点上放伞兵,能够使伞兵能够走到图上全部的点.且每一个点仅仅被一个伞兵走一次.问至少放多少伞兵 思路:二分图的最小路径覆盖,每一个点拆成两个点,然后依据有向边连边,然后答案为n - 最大匹配数 代码: #include <cstdio> #include <cstring> #include <vector> #include <algorithm> using namespa…
UVA 1201 - Taxi Cab Scheme 题目链接 题意:给定一些乘客.每一个乘客须要一个出租车,有一个起始时刻,起点,终点,行走路程为曼哈顿距离,每辆出租车必须在乘客一分钟之前到达.问最少须要几辆出租车 思路:假设一辆车载完一个乘客a,能去载乘客b,就连一条有向边,这样做完整个图形成一个DAG,然后要求的最少数量就是最小路径覆盖.利用二分图最大匹配去做,把每一个点拆成两点.假设有边就连边,做一次最大匹配.n - 最大匹配数就是答案 代码: #include <cstdio> #i…
http://poj.org/problem?id=3020 首先注意到,答案的最大值是'*'的个数,也就是相当于我每用一次那个技能,我只套一个'*',是等价的. 所以,每结合一对**,则可以减少一次使用,所以就是找**的最大匹配数目. 对于每一个*,和它的上下左右连接一条边(如果是*才连) 那么,这个图是一个二分图,怎么找到左边集合S,右边集合T呢? 我的做法是染色一次,就可以. 这题应该不能贪心吧. 3 5 ***** o***o o*o*o 其实也可以不分开S.T 跑一发最大匹配,然后匹配…
题目网址:  http://poj.org/problem?id=3020 题意: 用椭圆形去覆盖给出所有环(即图上的小圆点),有两种类型的椭圆形,左右朝向和上下朝向的,一个椭圆形最多可以覆盖相邻的两个小圆点.   思路: 将每个小圆点看作是一个顶点,因为一个椭圆只能覆盖两个小圆点,我们就可以把这个图看成一个二分图.将相邻的两个点,一个看作是X集合内顶点,另一个看成是Y集合内顶点.但要注意的是一个顶点可能不止和一个顶点想连(如上图情况),所以我们要把上述情况看作是一个无向图,而不是有向图.因为是…
题目地址:http://poj.org/problem?id=3020 输入一个字符矩阵,'*'可行,'o'不可行.因为一个点可以和上下左右四个方向的一个可行点组成一个集合,所以对图进行黑白染色(每个点的值为其横纵坐标之和),然后就可划分为二分图,进行最大匹配.最后最大匹配数加剩下的单个点数量即为所求. #include<cstdio> #include<iostream> #include<string.h> #include<algorithm> #in…
Description The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile phone nets in Sweden. The most striking reason why they got the job, is their discovery of a new, highly noise resistant, antenna. It…
链接: http://poj.org/problem?id=3020 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#problem/M Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5500   Accepted: 2750 Description The Global Aerial Research Centr…
Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6334   Accepted: 3125 Description The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile phone nets in Sweden. The most st…
链接:poj 3020 题意:一个矩形中,有n个城市'*'.'o'表示空地,如今这n个城市都要覆盖无线,若放置一个基站, 那么它至多能够覆盖本身和相邻的一个城市,求至少放置多少个基站才干使得全部的城市都覆盖无线? 思路:求二分图的最小路径覆盖(无向图) 最小路径覆盖=点数-最大匹配数 注:由于为无向图,每一个顶点被算了两次,最大匹配为原本的两倍. 因此此时最小路径覆盖=点数-最大匹配数/2 #include<stdio.h> #include<string.h> int edge[…
原题传送:http://poj.org/problem?id=3020 Antenna Placement Time Limit: 1000MS Memory Limit: 65536K Description The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile phone nets in Sweden. The most striking…
题目传送门 /* 题意:*的点占据后能顺带占据四个方向的一个*,问最少要占据多少个 匈牙利算法:按坐标奇偶性把*分为两个集合,那么除了匹配的其中一方是顺带占据外,其他都要占据 */ #include <cstdio> #include <algorithm> #include <cstring> #include <vector> using namespace std; ; const int INF = 0x3f3f3f3f; ][]; ][]; boo…
Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6445   Accepted: 3182 Description The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile phone nets in Sweden. The most st…
Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6438   Accepted: 3176 看了别人的题解才过的... 渣啊.. 最基本的是构图 城市才是要构造的二分图的顶点! 构造方法例如以下: 比如输入: *oo *** O*o 时,能够抽象为一个数字地图: 100 234 050 数字就是依据输入的城市次序作为该城市的编号,0代表该位置没有城市. 然后依据题目的"范围"规…
The King’s Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3471    Accepted Submission(s): 1231 Problem Description In the Kingdom of Silence, the king has a new problem. There are N cit…
题意:图没什么用  给出一个地图 地图上有 点 一次可以覆盖2个连续 的点( 左右 或者 上下表示连续)问最少几条边可以使得每个点都被覆盖 最小路径覆盖       最小路径覆盖=|G|-最大匹配数                   证明:https://blog.csdn.net/qq_34564984/article/details/52778763 证明总的来说就是尽可能多得连边 边越多 可以打包一起处理得点就越多(这里题中打包指连续得两个点只需要一条线段就能覆盖) 拆点思想   :匈牙…
( ̄▽ ̄)" //无向二分图的最小路径覆盖数=顶点总数-最大匹配数/2(最大匹配数=最小点覆盖数) //这里最大匹配数需要除以2,因为每两个相邻的*连一条边,即<u,v>和<v,u>是一样的,所以结果多了一倍 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> using namesp…
http://poj.org/problem?id=3020 Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7565   Accepted: 3758 Description The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile ph…
Antenna Placement Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 3020 Description The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile phone n…
二分图题目 当时看到网上有人的博客写着最小边覆盖,也有人写最小路径覆盖,我就有点方了,斌哥(kuangbin)的博客上只给了代码,没有解释,但是现在我还是明白了,这是个最小路径覆盖(因为我现在还不知道啥叫最小边覆盖). 有一篇博客如下写道:最小路径覆盖只对有向无环图而言,且并不要求原图是二分图,给所有点一个分身,让他们分别处于两个集合就可以,求出的最小路径覆盖 = n - 最大匹配值. 证明:假设最大匹配值是0,那原先一共有n个路径,每次多一个匹配,这样的路径就减少1,证明完毕. 那么回到这个题…
传送门:http://poj.org/problem?id=3020 Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11098   Accepted: 5464 Description The Global Aerial Research Centre has been allotted the task of building the fifth generation of mobi…
---恢复内容开始--- https://vjudge.net/problem/POJ-3020 题意 *--代表城市,o--代表空地 给城市安装无线网,一个无线网最多可以覆盖两座城市,问覆盖所有城市最少要用多少无线. 分析 第一眼看没什么感觉,但要是想到需要处理的点是城市,那这个问题就是一个最小路径覆盖问题了.因为最多覆盖两个城市,即相邻城市才匹配.最小路径覆盖=总节点数-最大匹配数.建图时是双向的,所以最大匹配数/2. #include<iostream> #include<cstr…
Air Raid Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7278   Accepted: 4318 Description Consider a town where all the streets are one-way and each street leads from one intersection to another. It is also known that starting from an i…
题意 给你张无环有向图,问至少多少条路径能够覆盖该图的所有顶点--并且,这些路径可以有交叉. 思路 不是裸的最小路径覆盖,正常的最小路径覆盖中两个人走的路径不能有重复的点,而本题可以重复. 当然我们仍可将问题转化为最小路径覆盖.如果一个人需要经过另一个人走过的点的时候,让他直接从该点上空飞过去,越过该点,直接走下一个点.如果我们赋予每个人这种能力,那么求得的无重复点的最小路径覆盖结果,就是题目要求的结果,因为需要重复的地方只要飞过去,就可以不重复了.赋予这个能力的方法就是预处理用Floyd求传递…
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1151 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82834#problem/J /* ************************************************************************** //二分图匹配(匈牙利算法的DFS实现) //初始化:G[][]两边顶点的划分情况 //建立G[i][…
传送门:http://poj.org/problem?id=2594 Treasure Exploration Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 9802   Accepted: 3979 Description Have you ever read any book about treasure exploration? Have you ever see any film about treasure e…
题目链接: https://vjudge.net/problem/POJ-1422 题目大意: 有n个点和m条有向边,现在要在点上放一些伞兵,然后伞兵沿着图走,直到不能走为止 每条边只能是一个伞兵走过,问最少放多少个伞兵 解题思路: 最小路径覆盖 最小路径覆盖=|G|-最大匹配数 重点是,建图的时候,把每个点分成两部分A1,A2,如果有边A->B,就在二分图上加A1->B2 这里的巧妙可以看下面的例子 对于一条路径,起点的入度为0,终点的出度为0,中间节点的出入度都为1. 每一个点最多只能有1…
传送门:http://poj.org/problem?id=2060 Taxi Cab Scheme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 7260 Accepted: 2972 Description Running a taxi station is not all that simple. Apart from the obvious demand for a centralised coordination…
相当于用1*2的板覆盖给定的h*w的格子里的点,求最少的板.可以把格子相邻的分成两个集合,如下图,0为一个集合,1的为一个,也就是(行数+列数)为奇数的是一个集合,为偶数的为另一个集合.101010101010101010101两个集合分别代表男和女,能不能结婚,首先要看是不是异性,然后看是不是相邻的.所以就是用二分图匹配了.g[i][j]>0的表明i和j是相邻的.找出最大的配对数,然后总共需要的板就是点的总数-配对的对数. #include<cstdio> #include<cs…