我的极少数网络流题解(?
首先考虑将问题转化为最大权闭合子图模型。
由于要求最小化费用,不妨考虑最大化可以从初始的 n∑i=1wi 中除去的费用。
对原图中的每个点,建一个点权为 −bi 的点,代表将这个点的 ai 变为 0。
将原图中每个点的所有出边按照出点的权升序,那么显然是除去一个后缀才有效果,将这些边一一建点,点权为出点的 ai 的差,并向下一条边对应的点连边。
当然,这些点还要向出点对应的点连边。
用初始的 ∑i=1wi 减去最大权闭合子图的点权和,即是答案。
关于最大权闭合子图,有十分经典的最小割模型转化,此处不再赘述。
代码:
1 |
|