最大流
哎哟_不错哦
这个作者很懒,什么都没留下…
展开
-
UVA,259Software Allocation
用最大流问题-Ford-Fulkerson算法,设立超级源点连接所有的program,终点连接0到9,依据输入的连接program和0到9,建立最大流,判断是否进入的和出去的是否相等,枚举0到9,依据增广路径是否为1,判断所连接的program;原创 2016-05-06 14:22:50 · 911 阅读 · 0 评论 -
UVA, 563 Crimewave
题意:团伙抢完所有银行后,撤退到S*A矩阵外就算逃出,要求一个点不能走两次,问是否可以完全逃脱 这道题是最大流问题,主要是要去构建图,然后用最大流算法得出是否银行数量和逃出的数量相等。怎么构建图呢?主要是用拆点,把一个点拆成两个点,点(i,j)可以表示为:前点(i-1)*A+j,后点(i-1)*A+j+M(M为一个较大的数,保证M大于等于S*A就行),然后连接前点和后点,方向是前到后, 相邻的点,图是无向的,用该点的后点连接相邻点的前点。最后用一个超级源点连接所有的银行点的前点,用一个超级终点连接所有的边缘原创 2016-05-06 16:12:00 · 833 阅读 · 0 评论 -
UVA, 11380Down Went The Titanic(最大流,拆点)
最大流,拆点 题意:@可以无限走,*人的初始位置,其他人不能走。~水,不能走, ...只能走一次,#终点,可以容纳的人数为p;问最多有多少人获救(到达了#) 这道题是最大流问题,主要是要去构建图。怎么构建图呢?主要是用拆点,把一个点拆成两个点,点(i,j)可以表示为:前点(i-1)*A+j,后点(i-1)*A+j+M(M为一个较大的数,保证M大于等于S*A就行),然后连接前点和后点,方向是从前点到后点,@和#他们的前点和后点边的权值设置无穷大。 相邻的点,图是无向的,用该点的后点连接相邻点的前点,如果是相邻原创 2016-05-06 17:27:07 · 1248 阅读 · 0 评论 -
poj,1273Drainage Ditches
单纯的最大流问题,单向的。原创 2016-05-07 17:06:29 · 396 阅读 · 0 评论 -
UVA, 820 Internet Bandwidth
最大流,注意是无向图,水题。 #include #include #include using namespace std; #define N 105 #define INF 1000000 struct edge { int to,cap,rev; edge(int a,int b,int c) { to=a; cap=b;原创 2016-05-07 17:17:55 · 457 阅读 · 0 评论 -
UVA, 753 A Plug for UNIX
题意: 4 4个插座,下面是名称,不一定时单字母,可能是字符串 A B C D 5 5个设备,名称 插头 laptop B phone C pager B clock B comb X 3 3种转换器 ,个数无限 B X X A X D 问最少设备不能使用的数量 建立最大流,超级源点连接所有的设备,超级终点连接所有的插座,设备插座原创 2016-05-07 17:21:17 · 357 阅读 · 0 评论