CF1919F2 Wine Factory (Hard Version)

题意

\(n\) 个桶,每个桶里有 \(a_i\) 单位水。

每次查询按 \(1,2...,n\) 的顺序进行。

当操作到桶 \(i\) 时,先将当前桶里的水取 \(b_i\) 加入答案。

并将当前里的水全部流向 \(i + 1\),最多只能流 \(c_i\) 单位。

每次修改 \(a_p, b_p, c_p\) 查询答案。

Sol

不难想到建模网络流。

  • \(S \to i\),容量 \(a_i\)
  • \(i \to i + 1\),容量 \(c_i\)
  • \(i \to T\),容量 \(b_i\)

套路地,考虑最大流模型转最小割。

注意到对于 \(i = j + 1\),如果割了 \(i \to T\)\(S \to j\) 就要加上当前 \(c_i\) 的贡献。

直接线段树区间合并单点修改做完了。

posted @ 2024-01-16 21:44  cxqghzj  阅读(5)  评论(0编辑  收藏  举报