poj 1273 Drainage Ditches (最大流Dinic)

2014-11-23 20:16:20 · 作者: · 浏览: 12

题目链接: poj 1273

题目大意: 有N个点和M条边,每条边最大的流量为c,初始流量为0

1为源点,n为汇点求最大流

解题思路: 最短增广路算法比一般增广路算法每次增广大范围小,因为每次增广都在残留网络进行

但是最短增广路每次还是要回到源点继续增广,而连续最短增广路算法则利用深搜的思想

一次遍历就能把残留网络增广完毕

PS:用邻接表时要注意反向边也要加入,因为需要不断大增广直到最优解

代码:

//网络最大流 Dinic算法
#include 
  
   
#include 
   
     #include 
    
      #define MAX 400 #define INF 0x3f3f3f3f #define Min(a,b) (a