最大流:{\blue{最大流:}}最大流:
Ford-Fulkerson算法:
时间O(nmU),时间和每条路径容量有关。
增广路思想,
遍历k次图,每次找一条增广路,
找的方法为BFS,记录前驱节点同时记录最小路径容量,访问过的节点不再访问,直到BFS到汇点,这样就找到一条增广路。
对增广路扩流,将所有路径容量减去记录的最小路径容量,若容量为0,则删掉该路径,ans累加此最小路径容量。
接下来,重复BFS,直到访问不到汇点为止。
以上算法还会有一种特殊情况\color{red}{以上算法还会有一种特殊情况}以上算法还会有一种特殊情况
若BFS扩展时,某点无法通过有向边继续扩展,但有个未访问过点通过一条有向边指向该点,此时仍然可以扩展,把该条有向边看作是反向即可,照常处理容量。
缺点,根据BFS特性,有可能出现每次只增加1个单位流量的最差情况,\color{red}{缺点,根据BFS特性,有可能出现每次只增加1个单位流量的最差情况,}缺点,