拆点
有一个限制只关于一个节点本身,那么拆。
需求类问题
- 考虑把需求连向汇点,那么求(最小费用)最大流就行了。https://www.luogu.com.cn/problem/P1251
- 考虑建需求缺口,把预期最大流变成 \(inf\),然后建流量为 \(inf - \text{需求}\) 的边,最后跑最大流。https://www.luogu.com.cn/problem/P3980
特殊:有的时候需求是上下界,那么要跑一个最小费用流。
https://www.luogu.com.cn/problem/P3980(只是举例,这题最后不能这么做)
最小割模型
有多种选择
- 可以连一条链,选一种方案就是割其中一条边。https://www.luogu.com.cn/problem/CF1146G
- 拆贡献,变成下文的两种选择 https://www.luogu.com.cn/problem/CF1427G
有两种选择
连向源、汇各表示一种选择。
有顺序的做一些操作
可以考虑建点:第 \(i\) 次做 \(j\)。
https://www.luogu.com.cn/problem/P2050
一面对多面
注意,这种不存在直接的见图方法。
此时我们可能考虑把网络流建成一条链,然后一面对多面变成一个前向边。
https://www.luogu.com.cn/problem/P3980
