在阅读本文前,建议先自学最大流的Ek算法. 引入 Ek的核心是执行bfs,一旦找到增广路就停下来进行增广.换言之,执行一遍BFS执行一遍DFS,这使得效率大大降低.于是我们可以考虑优化. 核心思路 在一次BFS中,找到的增广路可能不止一条,这时我们可以本着“尽量少进行BFS”的想法,在一次bfs后把所有能增广的路径全部增广.具体怎么做呢?仍然是:while(bfs(源点,汇点)) dfs(): 每次bfs标记出每个点的“深度”,也就是距离源点的长度.我们将得到的新图称作分层图.接下来我们在分层图…