过山车
http://acm.hdu.edu.cn/showproblem.php?pid=2063
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 13019 Accepted Submission(s): 5709
...
分类:
编程语言 时间:
2015-04-13 09:33:42
阅读次数:
261
原题地址主要是介绍了两个定理:1. 二分图最大匹配数 = 二分图最小点覆盖数2. 二分图最小点覆盖数 = 二分图顶点数 - 二分图最小点覆盖数注意,都是二分图代码:(匈牙利算法) 1 #include 2 #include 3 4 using namespace std; 5 6 #def...
分类:
其他好文 时间:
2015-04-09 21:24:43
阅读次数:
130
原题地址只能说匈牙利算法不能更屌,而且提示里给的伪码也不能更屌了!只用了第二个优化,因为将输入点集分割成A、B似乎挺麻烦的,索性就没用这个优化。代码: 1 #include 2 #include 3 4 using namespace std; 5 6 #define MAX_VERTEX ...
分类:
其他好文 时间:
2015-04-08 00:39:17
阅读次数:
136
解题思路:
裸的匈牙利算法,看最大匹配是否等于P;
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 500;
int p, n;
int G[MAXN][MAXN];
int match[MAXN];
int vis[MAXN];
int path...
分类:
其他好文 时间:
2015-03-30 11:28:29
阅读次数:
118
题目大意:
题目太长了,简单的意思就是:有N个魔杖,M个魔法师,魔杖有多个匹配的魔法师。但是一个魔法师
只能对应一根魔杖。那么问题来了:最多有多少魔法师能得到魔棒。
思路:
做一个二分图,一边是魔杖,另一边是魔法师。相应的匹配作为二分图的边。利用匈牙利算法,求出二
分图最大匹配是多少。...
分类:
其他好文 时间:
2015-03-30 11:19:23
阅读次数:
159
题目大意:
有n个学生,有m对人是认识的,每一对认识的人能分到一间房,问能否把n个学生分成两部分,每部分内的学生互不认识,而两部分之间的学生认识。如果可以分成两部分,就算出房间最多需要多少间,否则就输出No。
解题思路:
先是要判断是否为二部图,然后求最大匹配。
#include
#include
#include
#include
#include ...
分类:
编程语言 时间:
2015-03-29 18:08:45
阅读次数:
159
题目大意:
现在有5种型号(S、M、L、X、T)的衣服要发放给N个参赛队员。给出每个参赛者所需要衣服型号的范围。
在这个范围内的型号参赛者都能接受。再给出这5种型号衣服各自的数量,那么问题来了:是否存在一种
分配方案使得所有参赛队员都能够拿到自己型号范围内的衣服。
思路:
二分图匹配是一个对一个的匹配,这里是一对多匹配,需要用二分图多重匹配的模型来做。具体就是把原
先匈牙利算法中的cy[MAXN]更换为一个2维数组cy[MAXN][MAXN]。cy[i][j]表示与元素yi匹配的第j个元
素,同时用vey...
分类:
其他好文 时间:
2015-03-17 10:36:37
阅读次数:
123
题目大意:
有N只鼹鼠和M个洞穴,如果鼹鼠在S秒内不能够跑到洞穴,就会被老鹰捉住吃掉。鼹鼠跑的速度为V米/秒。
已知一个洞穴只能容纳一只鼹鼠。给你鼹鼠和洞穴的坐标,那么问题来了:问最少有多少只鼹鼠被老鹰捉住
吃掉。
思路:
建立一个二分图,一边为鼹鼠,另一边为洞穴枚举求出每只鼹鼠到各个洞穴的距离,把能够在S秒内跑到该
洞穴(距离<=S*V)的进行连边。建好图后用匈牙利算法求出最多有多少只鼹鼠能够幸免于难( MaxMatch() ),
那么剩下的N - MaxMatch()就是最少有多少只鼹鼠被老鹰捉住吃掉...
分类:
其他好文 时间:
2015-03-17 10:34:25
阅读次数:
134
题目地址:http://hihocoder.com/problemset/problem/1122
该题目的关键是2个问题:1点用bfs构造二分图
2:针对二分图的其中S中的结点,遍历找增广路(匈牙利算法求二分图的最大匹配)
每找到一条增广路就多找到了一条匹配。
代码如下:
/*
这题有两点需要注意:1点用bfs构造二分图
2:针对二分图的其中S中的结点,遍历找增广路(匈牙利...
分类:
编程语言 时间:
2015-03-15 23:07:16
阅读次数:
299
本次主要记录流网络以及最大流的简单概念(以后可能会将最大流的实现算法补充),重点讲解用匈牙利算法来求二分图的最大匹配。
1:流网络
流网络是G(V, E)是一个有限的有向图,它的每条边(u, v)
∈E都有一个非负值实数的容量c(u, v)≥0。如果(u,
v) 不属于E,我们假设c(u, v) = 0。我们区别两个顶点:一个源点s和一个汇点t.。并假定每个顶点均处于从源点到汇点的某条路...
分类:
编程语言 时间:
2015-03-15 21:20:41
阅读次数:
207