来写一下对于最小割建模正确性的理解,困扰了好几天,今天算是看懂了。
前置知识:闭合子图,即一张图,图中边的终点也在该图中(可以选某点,但是不选它连接的边),其实就是割开一些边拿到一张闭合子图。
首先,明确一点,最初始的情况是只有点权,边代表关系$i \rightarrow j$表示选$i$必须选$j$如此云云。一般的套路就是:正权点和S相连,而负权点和T相连,容量均为点权绝对值,而原本的边照连,但是容量为INF。
其次:正确性证明,假设我们已经将$S$、$T$割开,并且$S$肯定是一张闭合子图(不然顺着某边biubiubiu就溜到$T$了),那么我们可以得到如下的一些关系式($C$是割,$W$是我们需要的价值,$S_+$、$S_-$表示目前$S$所在图中的正(负)权点之和,$T$同理):
$$sm = \sum_{i \in V, vak[i]>0} val[i]$$
$$C = T_{+} + \vert S_{-} \vert$$
$$W = S_{+} - \vert S_{-} \vert$$
$$C+W = S_{+} + T_{+} = sm$$
最后合并,发现$C+W=sm \rightarrow W=sm-C=sm-maxflow$,即我们想要的价值,是总的正权点和减去我们建出来图的最小割(即最大流),于是乎就可以解释为什么是上述所说一般套路的建图方式了。
一般来说,正权点就表示拿这个点可以得到收益,但是拿这个点必须拿一些别的点,此时必须拿的这些点会带来花费。
模板:线性代数,我就是从这题理解的
原文地址:https://www.cnblogs.com/FormerAutumn/p/11254415.html
时间: 2024-10-26 22:34:52