摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549最大流基础题。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 #define MAXN 22 6 #define inf 1<<28 7 int map[MAXN][MAXN]; 8 int pre[MAXN]; 9 int level[MAXN];10 int gap[MAXN];11 12 int SA 阅读全文
摘要:
终于决定开始学习网络流了=.=<<图论算法理论、实践与应用>>那本书讲了很多关于求最大流的算法,然后我就只挑了一种传说中神奇的SAP算法学习。首先引入几个新名词:1、距离标号:所谓距离标号,就是某个点到汇点的最少的弧的数量(即边权值为1时某个点到汇点的最短路径长度)。设点i的标号为level[i],那么如果将满足level[i]=level[j]+1的弧(i,j)叫做允许弧,且增广时只走允许弧。2、断层(本算法的Gap优化思想):gap[i]数组表示距离标号为i的点有多少个,如果到某一点没有符合距离标号的允许弧,那么需要修改距离标号来找到增广路;如果重标号使得gap数组 阅读全文