【题目描述】
给定一张有 n 个顶点、m 条边的有向图,每个顶点关联一个供给/需求值,每条边关联流量的下界与上界。
第 v 个顶点在 bv 为正数时拥有 bv 的供给量,否则拥有 −bv 的需求量。
第 e 条边从顶点 se 指向 te,流量下界为 le,流量上界为 ue,单位流量的费用为 ce。
你的任务是求出并输出最小费用 b-流的值 z、达到最小值的流 f 及其对偶 p,即输出满足下列约束的 z、f={fe}e=0…m−1 与 p={pv}v=0…n−1:
- z=∑ecefe
- le≤fe≤ue(容量约束)
- ∑e∈δ+(v)fe−∑e∈δ−(v)fe=bv(流量守恒约束)
- fe>le⇒ce+pse−pte≤0(互补松弛条件)
- fe<ue⇒ce+pse−pte≥0(互补松弛条件)
- ∣pv∣≤1000000000000000
其中 δ+(v) 是从顶点 v 出发的边集,δ−(v) 是指向顶点 v 的边集,即 δ+(v)={e∣se=v},δ−(v)={e∣te=v}。
如果不存在这样的值,则输出 “infeasible”。
【输入】
文本
$n$ $m$
$b_0$
$\vdots$
$b_{n-1}$
$s_0$ $t_0$ $l_0$ $u_0$ $c_0$
$\vdots$
$s_{m-1}$ $t_{m-1}$ $l_{m-1}$ $u_{m-1}$ $c_{m-1}$
【输出】
如果问题不可行,输出一行
。否则,输出
文本
$z$
$p_0$
$\vdots$
$p_{n-1}$
$f_0$
$\vdots$
$f_{m-1}$
【输入样例】
文本
3 5
1
-1
0
0 1 1 2 1
1 2 0 2 2
2 0 -3 5 1
0 2 0 3 -2
2 1 0 1 0
【输出样例】
【输入样例2】
【输出样例2】
【输入样例3】
【输出样例3】
【数据范围】
- 0≤n≤100
- 0≤m≤1000
- 0≤se<n
- 0≤te<n
- ∣bv∣≤1000000000
- ∣le∣≤1000000000
- ∣ue∣≤1000000000
- ∣ce∣≤1000000000
- le≤ue
- 所有数值均为整数
注意:
- 输入图中可能含有自环,
- 且结果值可能超过 264。
【来源】
Library Checker(yosupo06) min_cost_b_flow
本题为 special judge(输出任意合法解),暂不可本地评测。