题目链接: poj 1273
题目大意: 有N个点和M条边,每条边最大的流量为c,初始流量为0
1为源点,n为汇点求最大流
解题思路: 最短增广路算法比一般增广路算法每次增广大范围小,因为每次增广都在残留网络进行
但是最短增广路每次还是要回到源点继续增广,而连续最短增广路算法则利用深搜的思想
一次遍历就能把残留网络增广完毕
PS:用邻接表时要注意反向边也要加入,因为需要不断大增广直到最优解
代码:
//网络最大流 Dinic算法
#include
#include
#include
#define MAX 400 #define INF 0x3f3f3f3f #define Min(a,b) (a