首页 > 其他分享 >「学习笔记」模拟费用流

「学习笔记」模拟费用流

时间:2023-05-06 19:57:56浏览次数:40  
标签:费用 增广 笔记 负环 增量 任意 模拟

学习自 cmd 老师的博客


昨天学习了模拟费用流相关内容阿。

常见的模拟费用流题大概会长成一个类似匹配的形状。主要的方法大概是两种:“增量-费用任意流” 模型或是直接模拟 EK 算法的增广过程。

“增量-费用任意流” 模型,即每次在图中增加一些点和边,求新的费用任意流。要注意,如果使用这种方法,那么每次除了讨论 \(S\) 到 \(T\) 的负路径之外,还需要考虑负环。注意到这里负环不可能长成 \(S \to T \to S\) 的形状,因此每个负环的含义是一组匹配中的某一项元素发生了替换。把所有负路径和负环的含义写出来,然后使用堆等数据结构维护。

直接模拟 EK 算法的增广过程,即从整体考虑,每次找到 \(S \to T\) 的最短路并更新状态,过程可能需要各种数据结构维护。注意在非增量费用流中,和 \(S\)、\(T\) 相连的边不会退流,也不存在负环,每条增广路的含义是添加一对元素,然后可能和原来已经配对好的元素进行替换。因此另一种方式是,把所有增广路的含义写出来,然后使用堆等数据结构维护。

注意以下类型的题可能暗示该用哪种做法:

  • 限制了流量 \(k\),那么很可能是需要模拟 \(k\) 次增广。当然也可能根据凸性 WQS 二分,然后用 “增量-费用任意流” 模型,但复杂度较高。
  • 带修改,那么肯定是 “增量-费用任意流” 模型。但注意,如果要求每次加元素,然后求所有元素都被匹配的答案,由于必定满流,和 \(S\) 相连的边不会退流,不会产生反向边。因此不存在新的环,于是只需考虑新增的源汇路。

不管是哪种方法,在具体的问题中很可能都还需要分析图或者匹配本身的性质。因为我既不懂费用流也不懂贪心,就不乱说话了。

上面的论述不保证是对的。其实还是要具体问题具体分析,具体的例子详见 cmd 老师的博客,懒得写了。就这样好了。

标签:费用,增广,笔记,负环,增量,任意,模拟
From: https://www.cnblogs.com/came11ia/p/17376880.html

相关文章

  • 矩阵学习笔记
    定义我们把一个\(n\timesm\)的数列叫做矩阵。他可以解决一部分线性递推的题目。特别的,我们常说的向量就是一个\(1\timesn\)的矩阵捏。单位元我们形如这样\(\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\)这种只有对角线都是\(1\)的叫做单位元。运算主......
  • mall学习笔记(1)
    参考macrozheng的mall项目搭建的后端。发现电脑带不动虚拟机于是选择Win10下开发(1. Java连接MySQL出现CommunicationsException和SSLHandshakeException问题处理解决方法:在连接url里加上useSSL=false2.Win10下MinIO搭建下载地址:MinIO|Codeanddownloadstocreatehigh......
  • Hudi学习笔记(2)
    https://hudi.apache.org/docs/configurationsHudi配置分类SparkDatasourceConfigsSparkDatasource的配置。FlinkSqlConfigsFlinkSQLsource/sinkconnectors的配置,如:index.type、write.tasks、write.operation、clean.policy、clean.retain_commits、clean.reta......
  • dell笔记本电脑触摸屏黑屏后就失灵,手动重启触摸板
    笔记本电脑触摸屏黑屏后就失灵,通常把屏幕盖子合上,再打开又能使用别人都说可以通过快捷键可以开启和关闭,我的dell电脑为什么就没有。苦恼!没法子啦~手动重启吧 1.找到触摸设备id 2.重启触摸板pnputil/restart-device"HID\DELL0923&Col02\5&1ccbf562&0&0001" 3.也可......
  • vue笔记,七个属性以及代码演示
    v-bind:title="xxx"利用v-bind即可完成,鼠标悬停几秒查看此处动态绑定信息步骤一:官网下载vue.js文件导入到idea对应的文件中并且代码引用这个包步骤二:写一下代码eg.举个例子<divid="app"><spanv-bind:title="message">鼠标悬停几秒查看此处动态绑定信息......
  • 戴尔笔记本u盘安装Ubuntu记录
    1.镜像下载www.ubuntu,com2.启动盘制作工具名称:rufus网址:Rufus-轻松创建USB启动盘界面: 3.一些问题(1)安装ubuntu18时安装类型不显示进入BIOS(dell是开机时按F2)的Ssystemconfiguration----sata设置----更改为ACHI—apply保存—exit退出......
  • 消息队列Rabbitmq介绍、rabbitmq安装、基于queue实现生产者消费者、基本使用、消息安
    目录1消息队列Rabbitmq介绍2rabbitmq安装3基于queue实现生产者消费者4基本使用4.1发送者4.2消费者5消息安全(详见笔记)6持久化(详见笔记)7闲置消费(详见笔记)8发布订阅(详见笔记)9发布订阅高级之Routing(按关键字匹配)(详见笔记)1消息队列Rabbitmq介绍#消息队列 -......
  • Hudi学习笔记(1)
    使用注意从0.10.0版本开始,primaryKey为必须的,不再支持没有主键的表。primaryKey、primaryKey和type均大小写敏感。对于MOR类型的表,preCombineField为必须的。当设置primaryKey、primaryKey或type等hudi配置时,tblproperties优先于options。使用S......
  • 外设驱动库开发笔记53:MAX31856热偶变送器驱动
      在我们的产品中经常有需要温度检测的地方,而热电偶温度检测电路是我们常用的。热电偶温度检测的方法很多,有时出于简单方便的考虑我们会选择热偶温度变送器来实现,这一篇我们就来讨论使用MAX31856热电偶温度变送器实现温度的检测。1、功能概述  MAX31856可以对任何类型热电偶的......
  • 差分约束学习笔记
    2023.5.6写的太烂了重新写差分约束系统定义差分约束系统是一种特殊的\(n\)元一次不等式组,它包含\(n\)个变量\(x_{1},x_{2},...,x_{n}\)以及\(m\)个约束条件,每一个约束条件都是两个其中的变量做差构成的,形如\(x_{i}-x_{j}\lec_{k}\),其中\(1\lei,j\len,i\nej,1\l......