解题报告 思路: 要求抢劫银行的伙伴(想了N多名词来形容,强盗,贼匪,小偷,sad。都认为不合适)不在同一个路口相碰面,能够把点拆成两个点,一个入点。一个出点。 再设计源点s连向银行位置。再矩阵外围套上一圈。连向汇点t 矩阵内的点,出点和周围的点的出点相连。 #include <iostream> ...
分类:
其他好文 时间:
2017-07-09 12:24:37
阅读次数:
189
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma warning(disable:4996)
using std::cin;
using std::cout;
using std::endl;
using std::s...
分类:
其他好文 时间:
2016-05-12 17:26:26
阅读次数:
130
题意:团伙抢完所有银行后,撤退到S*A矩阵外就算逃出,要求一个点不能走两次,问是否可以完全逃脱
这道题是最大流问题,主要是要去构建图,然后用最大流算法得出是否银行数量和逃出的数量相等。怎么构建图呢?主要是用拆点,把一个点拆成两个点,点(i,j)可以表示为:前点(i-1)*A+j,后点(i-1)*A+j+M(M为一个较大的数,保证M大于等于S*A就行),然后连接前点和后点,方向是前到后,
相邻的点,图是无向的,用该点的后点连接相邻点的前点。最后用一个超级源点连接所有的银行点的前点,用一个超级终点连接所有的边缘...
分类:
其他好文 时间:
2016-05-07 11:10:04
阅读次数:
122
题目链接有一个n*m的图, 里面有q个人, 每个点只能走一次, 问这q个人是否都能够走出这个图。对于每个人, 建边(s, u, 1), 对于每个边界的格子, 建边(u', t, 1), 对于其他格子, 建边(u, u', 1), 以及(u', v, 1), v是它四周的格子。对于求出的最大流, 如果...
分类:
其他好文 时间:
2015-12-06 15:55:55
阅读次数:
219
题意:b个银行被抢,罪犯制定逃跑路线,要求路上上的点和边不重合,问是否存在可行方案。图的边界就是表示逃出去了。
思路:拆点,容量为1,每个点向四周相邻的点连边,容量为1,判断是否满流。...
分类:
其他好文 时间:
2015-08-01 10:03:22
阅读次数:
148
Nieuw Knollendam is a very modern town. This becomes clear already when looking at the layout of its map, which is just a rectangular grid of streets and avenues. Being an important trade centre, Nieuw...
分类:
其他好文 时间:
2015-07-19 10:20:44
阅读次数:
105
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 100000000
using namespace std;
int a,b,s;
struct node{
int x,y;
bool oper...
分类:
其他好文 时间:
2015-05-17 12:19:08
阅读次数:
111
解题报告 之 UVA563 Crimewave 最大流 拆点...
分类:
其他好文 时间:
2015-04-21 22:48:44
阅读次数:
166
题意:
有若干罪犯抢银行,要求逃出地图时他们的路线不相交,求是否能达到上述要求。
分析:
路线不相交即每个点每条边只能用一次,即容量为1,点上的流量限制拆点即可。源点连向罪犯所在位置的入点,最外一圈的出点连向汇点,满流即可能。...
分类:
其他好文 时间:
2014-09-04 22:18:20
阅读次数:
354
解题报告
思路:
要求抢劫银行的伙伴(想了N多名词来形容,强盗,贼匪,小偷,sad,都觉得不合适)不在同一个路口相碰面,可以把点拆成两个点,一个入点,一个出点。
再设计源点s连向银行位置,再矩阵外围套上一圈,连向汇点t
矩阵内的点,出点和周围的点的出点相连。
#include
#include
#include
#include
#define M 500000
#define ...
分类:
其他好文 时间:
2014-08-28 11:31:39
阅读次数:
233