网络流复习笔记

模板

菜鸡的模板很丑,就不贴了。

网络流24题

这玩意你不搞好就别做网络流了,当然你是神仙当我没说。

一些别的关于最大流的东西

把流量看成需求量/偏移量,然后用源汇调整,用来判断可行性。

最小割

最小割定理:最小割=最大流。

最小割判定定理:先跑一遍最小割。

一条边可能在最小割:流满,两端点在不同\(SCC\)

一条边一定在最小割:流满,起点和源点在同一个\(SCC\),终点和汇点在同一个\(SCC\)

一般用来当代价用,我现在碰到的模型最小割不知道比最大流多到哪里去了。

先加上贡献,然后减掉代价。

费用流

就是那点东西,\(zsy\)教了我一个可以跑特殊意义下费用流的带负环的算法,然而我不打算写。。。

上下界网络流

有源汇=\(T->S\)\(inf\)边,就无源汇了。

先跑可行流。可行流就是先把每条边的下界跑满,然后新建超级源汇补流吸流。

思考这一类问题(包括一些并不是上下界但是需要调整的模型)可以通过水来形象的思考。

最大流就是在这个基础上跑加上\(S->T\),最小流就是减掉\(T->S\),这里的\(S,T\)都是指原来的源汇。

一类特殊的线性规划问题

满足每个变量是非负整数。

先用\(y_i,z_i\)等把所有不等式化成等式,然后用差分的奇技淫巧使得每个变量只出现过两次,一次正一次负。

这个一定要自己好好推一推,大概是源点像常数项为负的连边,常数项为正向汇点连边,负向正连边。

最好一开始默认所有变量是零,然后你通过改变一个变量的值来平衡流量。

一类优化

我们经常会碰到比如说一个点像区间连边的题,但这样边数会很大,又\(TLE\)\(MLE\)

所以线段树优化连边,主席树优化连边,线段树合并优化连边(好像都是线段树?)

注意一些线段树的东西在维护的时候想好怎么连边,比如线段树合并的\(merge\)函数。

\(n\)很小区间个数很多可以二维\(RMQ\)优化。

模拟费用流

这是个神仙玩意,我还没有填完坑呢。

posted @ 2019-02-25 23:04  Cgod  阅读(322)  评论(2编辑  收藏  举报