树链剖分

将树上的点按照一定方式分为许多条链,从而将在树上的区间操作转移到线性数据结构上,减少时间复杂度的同时维护许多有用的信息。

常用的剖分依据有重链剖分,实链剖分(Link-Cut Tree)等。一般称重链剖分为树链剖分。

继续阅读“树链剖分”

最小费用最大流和Edmonds-Karp算法

为流量网络中的每一条边赋予一个单位流量代价,在求最大流的基础上求最小代价的问题称为最小费用最大流问题(一般也称为费用流问题)。

求最大流的Edmonds-Karp算法通过广度优先搜索寻找增广路。
求费用流时,将广搜改为SPFA,求一条总单位开销最小的增广路,这样就可以保证方案总开销最小的同时流量最大。

继续阅读“最小费用最大流和Edmonds-Karp算法”