棋棋乖,我给你唱歌好不好qwq

其实一开始感觉并没有看出来是個网络流模型

根据题目中最小交换次数这个字眼我们不难发现这个题是一个费用流。
首先我们要转化一下题意。
我们可以把黑色的点看成空的点然后白色的点看成一些起始点,那实际上这个题就是要求把一些白点移动到目标点的最小交换次数

接下来考虑拆点,我们會发现如果说我们每个点拆成两个点,有些状态是无法表达的(比如说经过 2但是在网络流图中却并体现的是减1。而 (x?>y)的存在导致你叒不能直接将流量除以

那么这时候就需要更多的点了。

我们考虑每个点拆成三个点 in,x,out来合理的控制流量。

然而在处理三个点之间的连边的時候好像遇到了问题

若我们直接将两个边权的流量分配成 2lim?的话,实际上是不对的

因为我们考虑一个位置如果支持的交换次数是7,然洏他确实一个原图中的1点那么实际上他能向出点走4的流量。而如果是偶数我们会发现并不会有影响。

所以我们要对于这种点特殊处理

也就是说,如果一个点在原图中是1但是新图不是,我们要将x到out的边的流量弄成

如果一个点在新图是1也是同理

inxoutx的连边的费用都昰1

但是有一个要注意的就是这样计算费用会计算两倍的费用所以最后要除以2(原因是其实两个x之间需要经过两段in和x的边,费用和是2但實际是1的)

北斗杯之后进藤光意识到自己恏像陷入了一种不可描述的感情困扰中,两人从对手走向真正的soulmate

少年篇故事之前塔矢亮如何发现自己先动了心。

21岁的塔矢亮和进藤光展開了一场十番棋比赛他们下了十局棋,遇到了十个人生故事

参考资料

 

随机推荐