三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

关于网络流的 Trick

关于网络流的 Trick

拆点

有一个限制只关于一个节点本身,那么拆。

需求类问题

  1. 考虑把需求连向汇点,那么求(最小费用)最大流就行了。https://www.luogu.com.cn/problem/P1251
  2. 考虑建需求缺口,把预期最大流变成 \(inf\),然后建流量为 \(inf - \text{需求}\) 的边,最后跑最大流。https://www.luogu.com.cn/problem/P3980

特殊:有的时候需求是上下界,那么要跑一个最小费用流。

https://www.luogu.com.cn/problem/P3980(只是举例,这题最后不能这么做)

最小割模型

有多种选择

  1. 可以连一条链,选一种方案就是割其中一条边。https://www.luogu.com.cn/problem/CF1146G
  2. 拆贡献,变成下文的两种选择 https://www.luogu.com.cn/problem/CF1427G

有两种选择

连向源、汇各表示一种选择。

有顺序的做一些操作

可以考虑建点:第 \(i\) 次做 \(j\)

https://www.luogu.com.cn/problem/P2050

一面对多面

注意,这种不存在直接的见图方法。

此时我们可能考虑把网络流建成一条链,然后一面对多面变成一个前向边。

https://www.luogu.com.cn/problem/P3980

← 返回列表