题意:给定一个序列,要求从中选出 \(k\) 个不相交的区间使和最大。\(n\le 10^5\)。
如果 DP,至少 \(O(n^2)\)。而这题可以模拟费用流做。
【费用流模型】
建立 \(n+1\) 个点 \(p_1\sim p_{n+1}\),\(p_i\rightarrow p_{i+1}\) 容量 \(1\) 费用 \(a_i\)。
\(S\rightarrow p_1\sim p_n\),容量 \(1\) 费用 \(0\)。
\(p_2\sim p_{n+1}\rightarrow T\),容量 \(1\) 费用 \(0\)。
\(S'\rightarrow S\),容量 \(k\) 费用 \(0\)。
【模拟费用流】
线段树模拟费用流,维护区间状态、区间和、区间最大同状态子段和。
标签:费用,容量,相交,区间,sim,rightarrow From: https://www.cnblogs.com/FLY-lai/p/18111265