关于最小割建图
做了若干最小割的题目,觉得建图有以下几个方面的 trick。
首先就是最好的收益就是总收益减最小割
我们应该把在最小割题目里的源点和汇点想一个更好的解释,应该是题目中的两个选择。比如说文理科,比如说选不选。然后我们把源点能到的所有点都叫做和源点是同类型的点,把所有能到汇点的点全部叫做与汇点同类型的点。这是很符合最小割意思的,如果我有一个点又能从 \(S\) 出发到达,又能从出发到达 \(T\) 那么是不可能的,因为这既不符合最小割的定义,又不符合我们说的他要么是 \(S\) 类型要么是 \(T\) 类型。然后我们建图跑最小割。
当然,有的时候有一些特殊情况,这也就是最小割题目的变数所在。一般来说,有以下几种变数:
- 如果若干个都选了某一种东西(这里比如说源点所对应的),那么我就把源点和一个新造点连起来,边权为我选了这么多东西能造成的收益,然后把这个点和若干个东西连起来,边权为正无穷。那么我们如果不要把这个东西割开,那么后面连的点必须都与 \(T\) 断开。
- 网格图是很容易在点与点之间有着这种 \(S\) 和 \(T\) 关系的,
太空飞行计划
这样巧妙的处理掉了正负贡献的事情。
Happiness
这是变数 \(1\) 的使用。
同时问了下 dls。