hdu 5093 Battle ships (二部图+最大匹配) —— black的专栏 —— waShaXiu...
分类:
其他好文 时间:
2014-11-05 17:26:19
阅读次数:
107
一般图最大匹配带花树:
建图后,计算最大匹配数.
如果有一个联通块不是完美匹配,先手就可以走那个没被匹配到的点,后手不论怎么走,都必然走到一个被匹配的点上,先手就可以顺着这个交错路走下去,最后一定是后手没有路可走,因为如果还有路可走,这一条交错路,就是一个增广路,必然有更大的匹配.
Game
Time Limit: 1 Second Memory Li...
分类:
其他好文 时间:
2014-11-05 17:10:09
阅读次数:
171
题目大意:给出一张地图,一个军队要征战整个土地。一块土地只能经过一次,有X的地方不能走,军队只会走R*C个格子,只会向下走,问最少需要多少军队能够征战所有的土地。
思路:这个是前几天考试的题,今天居然发现时BZ的原题,还好当时A掉了。。。
看到每个土地只能经过一次就想到了网络流什么的,再一想想好像是最小路径覆盖啊,然后拆点,建图,Hungary,二分图最小路径覆盖=点数-最大匹配,没了...
分类:
其他好文 时间:
2014-11-05 10:59:25
阅读次数:
172
∵每个座位可以坐俩人,所以拆点最大匹配。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 2001 6 vectorG[N::iterator ITER; 8 int mat[N<<2]; 9 bool vis[...
分类:
编程语言 时间:
2014-11-04 19:32:32
阅读次数:
305
裸的匈牙利,存模板。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 201 6 int n,m,x; 7 vectorG[N::iterator ITER; 9 int mat[N<<1]; bool vis[...
分类:
编程语言 时间:
2014-11-04 19:11:55
阅读次数:
232
hdu 5090 Game with Pearls(最大匹配)—— black 的专栏 —— waShaXiu...
分类:
其他好文 时间:
2014-11-04 17:38:26
阅读次数:
267
题目大意:给定n个锦囊和m个问题,每个问题可以使用给定的两个锦囊之一,必须连续答题,求最多答上多少题
二分图最大匹配,每出现一个问题就向给定的两个锦囊连边,然后匈牙利算法寻找增广路,如果找不到就break
我这SB居然一开始在两个锦囊之间练了条边,然后二分答案……伤不起啊……
#include
#include
#include
#include
#define M 1010
using n...
分类:
其他好文 时间:
2014-11-04 17:35:15
阅读次数:
125
一个学生可以有多种选择,问能否每个学生刚好选一门课,但是每门课最多只有一个学生可以选择
典型的二分匹配最大匹配,直接套模板
COURSES
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 17878
Accepted: 7048
Description...
分类:
其他好文 时间:
2014-11-03 22:38:13
阅读次数:
269
题目链接
题意:n个人,每个人有一个爱慕的集合,现在要挑出一些人,使得集合中没有人两两爱慕,问这个集合最大人数是多少
思路:每个人拆成两点,爱慕和被爱慕,建图,求出二分图最大匹配,因为是两两匹配,然后人数n - 最大匹配数 / 2就是最大独立集
代码:
#include
#include
#include
#include
#include
using ...
分类:
其他好文 时间:
2014-11-03 16:24:28
阅读次数:
152
题目:hdoj 5093 Battle ships
题意:给你一个n*m的图,图中有冰山 ‘# ’,浮冰 ‘o’ 以及普通海 ‘ * ’,现在要在海中布置尽可能多的炮弹,炮弹不能突波冰山,不能让炮弹互相攻击到,问最大能不知多少个?
分析:二分图的经典题目,关键在于怎么建图,图进行两次编号,按行编号,每一行中能攻击到的一块编号成相同的数,每一列同样,然后对行和列有编号的地方进行连...
分类:
其他好文 时间:
2014-11-03 14:37:07
阅读次数:
243