网络N:<五元组> (V,X,Y,A,c),其中,V:点集,X:源点集,Y:汇点集(多源多汇的情况可以由虚拟源,汇点的方式转换成单源单汇,对于单源单汇,此处可写成x,y),A:弧集,c:<A上的函数>容量函数,c(a)表示弧a的容量。
(可行)流f:<A上的函数>,f(a)表示弧a的流量,f+(v)表示v的所有出弧的流量和,f-(v)表示v的所有入弧的流量和,f满足容量约束:f(a)<=c(a) ,以及流量守恒 :对不为x,y的点,f-(v)=f+(v)。
->显然,f+(x)=f-(y),定义f的流量val f=f+(x)=f-(y)。
割:<弧集>(S,S)S为包含x的点集,S 为S的补集,此处应该是上划线,但是我不知道咋打出来上划线就打了下划线 。一个弧集就是S与S中点间有关联的弧的集合。
->割的容量cap(s,s):割中所有弧的容量的和
->最小割k:对于任意的割k*,若cap k*>cap k,则称k为最小割
->定理:对任一流f和任一割(S,S),f+(s)-f-(s)=val f
->定理:val f<=cap k ,等号成立当且仅当所有(s,s)的弧饱和,所有(s,s)的弧为零。
->推论:若val f=cap k ,则f为最大流,k为最小割。
uv路:该路为N基图上的一条路,且规定其走向为u到v
->正向弧:uv路上方向与uv路相同的弧 反向弧:uv路上方向与uv路相反的弧
->可增路:对于xv路上的任一弧a,若(a为正向弧且c(a)>f(a))或(a为反向弧且f(a)>0)则称此uv路为可增路。
->△f(a):对于xv路上的弧a,△f(a)=c(a)-f(a)(a为正向弧) 或 f(a) a为反向弧
->可增量△f(p),对路p,△f(p)=min(△f(a)),a为p上的弧
最大流最小割定理:最大流的流量等于最小割的容量。
增广:对于一条可增路xy路p,将p上所有正向弧的流量加上△f(p),所有反向弧的流量减去△f(p)