题目 30125

最小费用 b-流

查看题解 ↗GitHub ↗如何评测
题号
30125
时间限制
10000 ms
内存限制
1024 MB
标签
图论
来源
Library Checker (yosupo06) - min_cost_b_flow

【题目描述】

\gdef\relmiddle#1{\mathrel{}\middle#1\mathrel{}}

给定一张有 nn 个顶点、mm 条边的有向图,每个顶点关联一个供给/需求值,每条边关联流量的下界与上界。 第 vv 个顶点在 bvb_v 为正数时拥有 bvb_v 的供给量,否则拥有 −bv-b_v 的需求量。 第 ee 条边从顶点 ses_e 指向 tet_e,流量下界为 lel_e,流量上界为 ueu_e,单位流量的费用为 cec_e。

你的任务是求出并输出最小费用 b\mathbf{b}-流的值 zz、达到最小值的流 f\mathbf{f} 及其对偶 p\mathbf{p},即输出满足下列约束的 zz、f={fe}e=0…m−1\mathbf{f} = \lbrace f_e\rbrace _ {e = 0 \dots m-1} 与 p={pv}v=0…n−1\mathbf{p} = \lbrace p_v\rbrace _ {v = 0 \dots n-1}:

  • z=∑ecefez = \sum_{e} c_e f_e
  • le≤fe≤uel_e \leq f_e \leq u_e(容量约束)
  • ∑e∈δ+(v)fe−∑e∈δ−(v)fe=bv\sum_{e \in \delta^+(v)} f_e - \sum_{e \in \delta^-(v)} f_e = b_v(流量守恒约束)
  • fe>le⇒ce+pse−pte≤0f_e \gt l_e \Rightarrow c_e + p_{s_e} - p_{t_e} \le 0(互补松弛条件)
  • fe<ue⇒ce+pse−pte≥0f_e \lt u_e \Rightarrow c_e + p_{s_e} - p_{t_e} \ge 0(互补松弛条件)
  • ∣pv∣≤1000000000000000|p_v| \le 1000000000000000

其中 δ+(v)\delta^+(v) 是从顶点 vv 出发的边集,δ−(v)\delta^-(v) 是指向顶点 vv 的边集,即 δ+(v)={e|se=v}\delta^+(v) = \left\lbrace e \relmiddle| s_e = v \right\rbrace,δ−(v)={e|te=v}\delta^-(v) = \left\lbrace e \relmiddle| t_e = v \right\rbrace。

如果不存在这样的值,则输出 “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}$

【输出】

如果问题不可行,输出一行

文本
infeasible

。否则,输出

文本
$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
0
-1
-1
1
0
3
3
0

【输入样例2】

文本
2 1
-1
1
0 0 -1 1 0

【输出样例2】

文本
infeasible

【输入样例3】

文本
2 1
1
0
0 1 -10 10 0

【输出样例3】

文本
infeasible

【数据范围】

  • 0≤n≤1000 \le n \leq 100
  • 0≤m≤10000 \le m \leq 1000
  • 0≤se<n0 \le s_e \lt n
  • 0≤te<n0 \le t_e \lt n
  • ∣bv∣≤1000000000|b_v| \le 1000000000
  • ∣le∣≤1000000000|l_e| \le 1000000000
  • ∣ue∣≤1000000000|u_e| \le 1000000000
  • ∣ce∣≤1000000000|c_e| \le 1000000000
  • le≤uel_e \le u_e
  • 所有数值均为整数

注意:

  • 输入图中可能含有自环,
  • 且结果值可能超过 2642^{64}。

【来源】

Library Checker(yosupo06) min_cost_b_flow

本题为 special judge(输出任意合法解),暂不可本地评测。

数据下载

题目 30125 的公开数据

正在读取文件列表…

常用命令

题目 30125 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。