• 网络流24题


    经典问题,做了一部分

    太水的就不记录了

     

    最大流是对于一种完整的匹配的处理,一条路一个贡献。要求匹配尽可能多。

    费用流是对于一个路径的最值的处理,每条边自己的费用。再匹配最多前提下,匹配的费用达到最值。

     

    难点就是对于条件状态的设计

    1.

    [网络流24题]餐巾计划问题——费用流建模

    考虑每天一定有ri条脏毛巾,所以脏毛巾和干净毛巾分开处理。

     

    2.

    最长不下降子序列问题 

    怎样规定一定选择了长度为最长的s的?

    起始点一定f[i]=1,终止点一定f[i]=s!

    然后拆点覆盖

    可以选择多次就1,n的容量是inf

     

    3.

    航空路线问题 

    看似是环,由于知道一定经过1,n,所以就是1到n的两条不相交的路径了

    但是经过的点是哪些不知道还要最大化。但是知道两条路的起点终点。

    所以直接最大费用最大流了。

    (星际竞速那个题,不知道起点终点,但是知道所有的点都经过一遍,所以可以S到出点到T,入点到出点)

    找方案,dfs两遍,对边打标记

    由于(1,n)的边可以走两次,所以加入两次(1,n)的边。

     

    4.

    最长k可重区间集问题

    和平常思路不太一样的建模

    发现最小割办不了不能同时相交k个的限制,

    然后考虑费用流处理最优化问题

    但是k个相交怎么办?

    最大流来限制!利用分流和汇流

    离散化,S-1(k,0); i-i+1(k,0) ; 2n-T(k,0),代表同时最多可以重k次

    区间:L-R(1,len),流量为1的道理是,限制同一时间已经占用了一个坑位,之后只能少选择一个

    汇流的时候,也满足一个区间结束了,一个坑位空出了。

    最大费用最大流即可。

    (原来的费用流中最大流都是为了把要求选择的都选上,但是这里恰好是利用,"最大是这么多"的限制!)

     最长k可重线段集问题

    投影,二维变成一维,但是(l,l)的点不能体现选择一次,拆点,注意是开区间。是否包含处理好即可。

     

  • 相关阅读:
    net core 3.1 依赖注入
    vue temeplete standard
    net core 3.1 Global
    vue Multiple selection
    c# mvc modelstate
    vue temeplete
    vue element pickdate combox input 排版
    c# 生成 验证码
    vue checkbox ajax
    js算法(2)
  • 原文地址:https://www.cnblogs.com/Miracevin/p/10609257.html
Copyright © 2020-2023  润新知