摘要:
从一个经典问题谈起:
有一个长度为 $n$ 的序列 $a$,要求找出恰好 $k$ 个不相交的连续子序列,使得这 $k$ 个序列的和最大
先假装都会 $1 \leq k \leq n \leq 1000$ 的 $dp$ 做法以及 $k = 1$ 的子问题
实际上这个问题还可以是个费用流模型:
对于序列中每一个点 $i$ ,拆成两个点 $i$ 和 $i'$ ,连一条 $i \rightarrow i'$ 流量为 $1$ 费用为 $a_i$ 的边
对于每一个 $i$ ,连一条 $S \rightarrow i$ 流量为 $1$ 费用为 $0$ 的边
对于每一个 $i'$ ,连一条 $i' \rightarrow T$ 流量为 $1$ 费用为 $0$ 的边
$1 \leq k \leq n \leq 10^5, -10^9 \leq a_i \leq 10^9$ 阅读全文