源汇补充
题目链接:bzoj 1927
题意:写bzoj的题意就是简单——题意见上……
题解:感觉上显然是一个最小费用最大流。首先我们得让每一个点经过且仅经过一次,所以我们用最大流为 N 来限制每个点都要经过一次。然后拆点,从源点向每一个点的入点连边费用为定位时间,对于( U , V )从 U 的出点向 V 的入点连边费用为边权,每个点的出点再向汇点连边容量为 1。然后我们就会发现一个尴尬的事情,为了使最大流为 N 这种构图方式将不会走点和点之间的边。也就是说每个流入点的流都流向汇点而损失掉了。所以我们改变一下每个点和汇点的连接方式。我们让每个点的入点向汇点连一条容量为 1 的边,这样当有一股流流进这个点的时候就将会流向汇点。如何补充这一股损失掉的流呢?我们再从源点向每一个点的出点连一条容量为 1,费用为 0 的边就好啦!
我思故我在:通过这一道题我学会了源点和汇点的另一种用法,就是对于流量的吸收和补充。