1.Codeforce 704D
网络流题目的一个经典套路就是将两种选择变形为:
首先钦定一种选择,然后尝试替换为另一种选择。
如果有流量即为替换,否则算没替换。
所以本题直接建图,就得到了一个费用流做法。
但是本题还有一个特殊的性质,即 $r,b$ 是固定的,与每个点无关的。
所以可以直接根据 $r,b$ 的大小关系确定首先钦定的选择,然后直接跑最大流即可。
2.关于消负环
做法是这样的,把每个点拆成入点和出点。
然后将源点连每个出点 $\infty$ 边,每个入点连汇点 $\infty$ 边。
每个点的出点连向入点 $\infty$ 边,以上费用均为 $0$,再将原图中的边改为由出点连向入点即可。
然后跑最小费用最大流。
可以考虑首先把所有的 $\infty$ 边全都流满,为了保证最大流,就需要使得每个点的出入度平衡,就达到了消负环的效果。
因为太菜,我觉得这个消负环做法不是很行,但是值得一提的是用到的流量平衡思想。
然后对于负环的问题,其实可以用上下界网络流来解决。
考虑这样一个事情,一般的上下界网络流是钦定下界,然后去流上界-下界。
其实另一种做法是钦定上界,建反向边同样流上界-下界表示退流。
这样的话其实可以结合两种做法,只建正边权的边就可以解决这个问题。
3.至少删多少边使得欧拉回路
4.chips
5.离散变量(切糕)模型
6.Codeforce 720 A
7.ARC076 F
8.删两条以内边使得图不联通
9.noi2017 游戏
10.bzoj 4152