CHAPTER 0 废话
1.常见的最大流算法可以大致分为两种:找增广路 和 预流推进
2.从理论时间复杂度上界来看,找增广路算法的最坏时间复杂度为\(O(n^2m)\),而预流推进算法的最坏时间复杂度为\(O(n^2\sqrt{m})\),看起来预流推进要显然优于找增广路,但在实际应用(尤指OI)中,由于包括但不限于以下两个原因,预流推进的使用频率大不如Dinic等找增广路算法。
网络最大流这一类型题的难点一般在于建模而不是算法本身,故只要出题人不毒瘤,一般不会给出只有预流推进算法才能通过的数据范围
对于随机图,Dinic等找增广路算法的实际表现可能不输于预流推进(类似于SPFA与Dijkstra的关系)
3.此题解是本奆弱调题调了一上午并提炼总结各位讨论区的各位大犇的经验呢和数篇优秀的题解的结果,旨在帮助更多人更高效地理解预流推进算法并尽可能少走弯路浪费时间。由于本人非常没有石粒,题解不足错误之处还请各位批评指正。