来自2016集训队作业。
有
2n
个变量
xi,yi
,给定
m
个约束
相当于是有
2m
个约束
xai−ybi≤Ri−Wi ybi−xai≤Wi−Li
设 inu,outu 分别为出度、入度,则最优化条件相当于
max∑uoutuxu−inuyu
这是个线性规划,考虑将其对偶,可以得到
∑(u,v)∈Exu,v−yu,v≥outu,∀u∈V
∑(u,v)∈Eyu,v−xu,v≥inv,∀v∈V
min∑(u,v)∈E(Ru,v−Wu,v)xu,v−(Wu,v−Lu,v)yu.v
将所有的约束加起来,得到 0≥0 ,所以所有的等号必须取到。
考虑建图,则按照流量平衡,每个变量作为一条边,符号对应出/入流,费用为最优化式子中的系数,按符号往源或汇连容量为常数项的边,跑最小费用最大流得到的就是答案了。
然后来看怎么出一组解。首先初始的约束是个差分约束系统,可以先判有无解;费用流跑出来的网络里某个变量代表的边有流量也即这个变量大于0,可知原问题对应的约束取到了等号,所以往差分约束里加上这个等式。这样跑出来的就是一组合法的解了。
要注意答案非负,所以最后对所有变量都减去变量中的最小值。
时间复杂度。。。 O(跑得过但是很慢) 。。。