【1 月小记】Part 8: 网络流

I and flow

一、最大流

P2762 太空飞行计划问题

能用网络流求解的题目一般具有以下特征:

  • 用 DP 做不了;
  • 数据范围在 \(O(n^3)\) 下能过;
  • 最优化问题。

本体符合上述特征,因此考虑构建网络。要做一个实验,代表着能够获得 \(p_i\) 的收益。因此对于每个实验建一个点 \(E_i\)。对于从超级源点 \(S\)\(E_i\) 的连边,其容量即为 \(p_i\)

做一个实验 \(E_i\),代表着要使用列表 \(R_i\) 中的所有仪器。这是一个同时进行、相随伴生的过程,所以将 \(E_i\) 连接到 \(R_i\) 中的所有点 \(I_i\),其容量为 \(\infin\),代表这条边永远不会被割。

使用一个仪器 \(I_i\),代表着要付出 \(c_i\) 的代价。因此对于每个节点 \(I_i\),建一条连向超级汇点 \(T\) 的边,其容量为 \(c_i\)

根据最大流最小割定理,这个时候跑最大流,就相当于跑最小割,必定会割掉连接实验或容器的边。跑最小割相当于选择部分的实验和部分的仪器,剩下的实验和仪器就会被割掉,此时再用实验的总价值减去可能得到的最大值,即为其所要求的答案。

posted @ 2026-01-20 17:00  L-Coding  阅读(0)  评论(0)    收藏  举报