【网络流】Link-Cut Tree优化网络流Dinic算法

偶然在知乎上看到的一篇文章中提到了用动态树优化Dinic的思路,遂记录此随笔方便之后学习。

Dinic算法是一个非常优秀的解决网络流模型的算法,然而时间复杂度上界是O(V2E),有可能会被毒瘤出题人卡掉。

使用LCT可以优化Dinic算法来达到优秀的O(VElogV)的复杂度上界。

我们只需要实现4个操作就可以实现快速增广了。

1、加边:每次增广时加边直到源汇点在一颗树内

2、寻找路径最小值:找到增广路后寻找增广路上余量最小的边

3、路径修改:将增广路上的边全部减少增广的流量

4、删边:删去余量为零的边

以上四个操作用LCT化边为点即可完成。

posted @ 2019-01-03 20:26  韵城之都的管家  阅读(1036)  评论(0编辑  收藏  举报