zoukankan      html  css  js  c++  java
  • 网络流(2)

    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跑平面图很快然而被卡了。。。所以这都是个平面图了转一下对偶图就可以了。

  • 相关阅读:
    struts2+jpa+spring 泛型版小结
    PasswordEncoder
    父窗口 子窗口
    Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)
    js 正则表达式
    <aop:config>
    CJDBC
    struts2取值
    mysql启动错误1067的解决
    杂碎
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12019291.html
Copyright © 2011-2022 走看看