网络流
Posted hzoi-cbx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络流相关的知识,希望对你有一定的参考价值。
A.无限之环
首先将题意转化为存在一种方案使得所有水管都满流,那么考虑如何建图。
将网格图黑白染色,原汇点分别向黑白点连边,黑点向周围的白点连边,将每个点拆成5个点,一个表示原点用来限流,另外四个分别连向上下左右表示水管的朝向。接下来只要考虑每种情况对应的建图即可。
对于只有一个朝向的水管,向原方向连费用为0的边,对立的方向连费用为2的边,表示需要翻转两次才能到对应方向,相邻方向费用为1.
两个朝向,直管不用管,L形的两个原方向分别向对立方向连1,注意连边不能改变L形状,我让L形能转成直管调了一年。。。。
T形方法很多,我的方法是中间的方向连费用为-1的边,对立方向费用为1,其它为0,同时直接给ans++。
分类讨论真爽
B.星际竞速
同样可以用《80人环游世界》的鬼畜建边方法水过,也可以打上下界,但是这题有更帅的解法。
将每个点拆成x,y两个点,源点向所有x连边,费用为0,向所有y连边,费用为能力爆发的费用。对于有边的点对$i->j$,从$x_{i}$连向$y_{j}$,费用为路径长度,每个y向汇点连边。
由于保证了每个点都经过一次,这样建图是正确的。
C.千钧一发
类似《数字配对》,题意为同时不满足两个条件的点对不能同时选,可以转化为最小割模型。
奇数点对一定满足条件1,偶数点对一定满足条件2,所以不合法点对只会出现在奇偶之间,建立二分图即可。
D.老C的方块
非常神奇的一道题。。颓了标签yy了一下以为自己会了,然后疯狂wa最后发现伪了。。
讨厌的图形全是四个方块,所以可以想到四色染色,注意一个合法染色的条件是,所有不合法图形都可以表示为一个固定的顺序,且所有对应顺序对应的图形都是不合法的。
F.线性代数
化简,最后发现选择某个位置填一需要付出一定代价,两个位置一起填1可以获得对应收益,显然是最大获利。
用人员雇佣的方法就可以n个点了。
H.海拔
观察题意可以发现,最终高度必然为0或1,且0和1必然形成分别形成一个联通块。
若不成为一个联通块,那么将某个联通块全部填成另一个数不会使答案变差。
所以最小割就完了,以为isap跑平面图很快然而被卡了。。。所以这都是个平面图了转一下对偶图就可以了。
以上是关于网络流的主要内容,如果未能解决你的问题,请参考以下文章
C#流总结(文件流内存流网络流BufferedStreamStreamReader/StreamWriterTextReader/TextWriter)