• ARC129E Yet Another Minimization 题解 【网络流笔记】


    超神的建模,极其有借鉴意义/cy
    注:该建模对应于最小割建模

    对于 n 个数,每个数有 m 种取值的技巧

    i=1,2,,n,令 S=Vi,0Vi,1Vi,m=T,也就是形成 n 条链。
    此时,i 取值 j 时对应着切断边 Vi,j1Vi,j,因此这条边可以附上权值 ci,j
    注意,这时候我们还要连一条 Vi,jVi,j1 的边,边权为 +。理由如下:

    我们会发现上面那条链断了 3 条边,由于有其它边的介入,左边跑到 T 一边了,右边跑到 S 一边了,这显然不符合我们的期望。

    而加上无穷大的边后————

    发现 ST 连通了,显然与最小割不符。于是可以保证每条链左边属于 S,右边属于 T

    另外,如果一条链断了 3 条边,则 3 条小链中必有两个同属于 ST,它们之间的边就没必要断了,与最小性不符。

    至此,我们可以保证每条链恰好断一条边,其代价对应于选相应元素的代价,且左边属于 S,右边属于 T

    处理不同数所选值之间关系的技巧

    本题中要求对于数 ij,会产生 |xixj|Wi,j 的代价。

    不妨设 xi<xj(反之类似),则代价即为 a[xia<xj]Wi,j

    于是考虑对每个 a 连一条代价为 Wi,j 的边。

    xi,xj 进行归并排序,则相邻两个数之间的 a 可以合并,于是只有 O(m) 条边。

    举一个 xia<xj 的例子:

    可以看到图中 x2<y3,即 x2a<y3,此时上面那条链可以切蓝色的边,下面那条链可以切紫色的边,于是此时是y2x2 连一条边,边权为 y3x2

    注意一下谁往谁连边即可,注意权值差也有可能是 xkxk1,需要取一个 max

  • 相关阅读:
    【GEE】9、在GEE中生成采样数据【随机采样】
    量子笔记:布尔逻辑/代数、逻辑门、通用门、可逆计算
    尚硅谷设计模式学习(一)设计模式七大原则
    (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
    StarRocks 面试题及参考答案详解(万字详解)
    springboot+elk日志
    Swift 学习笔记二(Set篇)
    bzip2原理分享
    Parasoft与 IAR Systems开发工具集成
    PPT基础入门
  • 原文地址:https://www.cnblogs.com/Charlie-Vinnie/p/16552499.html