网络流--平面图转换对偶图
今天所讲的一种模型,是将平面图转换为对偶图,用最短路来求最小割。它的速度比起裸最小割(Dinic)更快(但是仅适用于网格图)。
平面图:可以画在平面,且任意两条边的交点只能是G的顶点(网格图)
性质:若一个连通的平面图有n个点,m条边,f个面,则 f=m-n+2
对于平面图G,可以找到它的对偶图G*:
G*中的每个点对应G中的面; 即对于G中的每条边,都会“挨着”两个面,这两个面对应着G*中的两个点,那么对这两个点连一条边。
看图:
解释:一条边e(a, b), 表示连接a、b且权值为w的边, 这条边将平面分为两部分上、下,那么在新的图中建立一条无向边E(A, B), 边权同样为w(如图1)。 按照这种方法建图, 我们得到了一个新的图。
再看图:
解释:红色即为对偶图。我们在下面设一个超级源点s*,在上面设一个超级汇点t*因为G*中的边与G中的边一一对应,G*边权就是对应的网络中的边的流量, 然后对G*求最短路(s*->t*),那么得到G的最小割。最大流=最小割,因此不管问题是求网络流还是求最小割,都能够得解。