下文主要介绍网络流相关的基本知识.(摘自 OIwiki)
概述:
网络(network)是指一个特殊的有向图 $$$G=(V,E)$$$,其与一般有向图的不同之处在于有容量和源汇点.
对于网络 $$$G=(V, E)$$$,流(flow)是一个从边集 $$$E$$$ 到整数集或实数集的函数,其满足以下性质.
1. 容量限制:对于每条边,流经该边的流量不得超过该边的容量,即 $$$0 \leq f(u,v) \leq c(u,v)$$$; 2. 流守恒性:除源汇点外,任意结点 $$$u$$$ 的净流量为 $$$0$$$.其中,我们定义 $$$u$$$ 的净流量为 $$$f(u) = \sum_{x \in V} f(u, x) - \sum_{x \in V} f(x, u)$$$.
对于网络 $$$G = (V, E)$$$ 和其上的流 $$$f$$$,我们定义 $$$f$$$ 的流量 $$$|f|$$$ 为 $$$s$$$ 的净流量 $$$f(s)$$$.作为流守恒性的推论,这也等于 $$$t$$$ 的净流量的相反数 $$$-f(t)$$$.
对于网络 $$$G = (V, E)$$$,如果 $$$\{S, T\}$$$ 是 $$$V$$$ 的划分(即 $$$S \cup T = V$$$ 且 $$$S \cap T = \varnothing$$$),且满足 $$$s \in S, t \in T$$$,则我们称 $$$\{S, T\}$$$ 是 $$$G$$$ 的一个 $$$s$$$-$$$t$$$ 割(cut).我们定义 $$$s$$$-$$$t$$$ 割 $$$\{S, T\}$$$ 的容量为 $$$||S, T|| = \sum_{u \in S} \sum_{v \in T} c(u, v)$$$.
最小割问题:对于网络 $$$G = (V, E)$$$,找到合适的 $$$s$$$-$$$t$$$ 割 $$$\{S, T\}$$$,使得 $$$\{S, T\}$$$ 的总容量尽可能小.此时我们称 $$$\{S, T\}$$$ 的总容量是 $$$G$$$ 的最小割.
给定一个包含 $$$n + 2$$$ 个节点的网络。我们约定:
该网络中一共包含 $$$3n-1$$$ 条边。给定一个长度为 $$$3n-1$$$ 的序列 $$$a$$$,其中 $$$a_k$$$ 表示第 $$$k$$$ 条边的容量。这些边的具体构建规则如下:
请你求出该网络从源点 $$$S$$$ 到汇点 $$$T$$$ 的最小割。
一行输入一个正整数 $$$n(1 \le n \le 2\times10^6)$$$。
第二行包含 $$$3n-1$$$ 个正整数,表示容量数组 $$$a_i(1 \le a_i \le 10^9)$$$ 。
输出一行一个正整数,表示答案。
31 1 4 5 1 4 1 9
6