首页 > 其他分享 >最小割树 学习笔记

最小割树 学习笔记

时间:2023-08-01 16:23:17浏览次数:36  
标签:割树 树结构 边权 最小 笔记 最小值 汇点

问题描述

给定一张图,求任意两点的最小割。要求跑 \(n\) 次最大流。

做法

暴力需要跑 \(n^2\) 次最大流,然而这样很浪费,因为求出 \(u, v\) 两点的最小割以后,我们还获得了至少一种最小割方案,可以通过这一方案获得更多信息。注意到假设通过最小割断开后,\(s, t\) 所在集合分别为 \(S, T\),则对于所有 \(u\in S, v\in T\),\(u, v\) 之间的最小割不会超过当前的最小割。考虑怎么利用这个性质。

给出集合的某种划分,使得任意一个横跨划分的点对都具有某种性质,这样的信息会导出某种树结构。在这个问题中,导出的树结构被称为 最小割树。具体地,每次对于一个点集合,选择任意两个点作为源、汇点,求 原图上的 最小割,以这个最小割的大小为边权,在当前源汇点之间连边,然后将点集划分,递归处理。可以证明,这样得到一棵树,对于两个点 \(u, v\),它们之间的最小割小于等于树上路径上边权的最小值;除此之外,还可以得出它们之间的最大流大于等于树上路径边权最小值。由最大流等于最小割,可以得到这两个点之间的最小割就是树上路径边权最小值。

标签:割树,树结构,边权,最小,笔记,最小值,汇点
From: https://www.cnblogs.com/kyeecccccc/p/17596829.html

相关文章

  • 如何提交学习笔记到Github
    前提条件:已经注册好Github账号步骤:*登录Github账号后,点击“+”新建仓库,根据提示命名和初始化仓库*克隆仓库到本地`gitclone<仓库的URL>`*在仓库文件夹里修改和添加文件*提交变更 *`gitadd*` *`gitcommit-m"对变更的描述"`*推送到Github`gitpushoriginmain`......
  • 白日梦的Elasticsearch实战笔记,32个查询案例、15个聚合案例、7个查询优化技巧。
    目录一、导读二、福利:账号借用三、_searchapi搜索api3.1、什么是querystringsearch?3.2、什么是querydsl?3.3、干货!32个查询案例!四、聚合分析4.1、什么是聚合分析?4.2、干货!15个聚合分析案例五、7个查询优化技巧公众号、欢迎关注一、导读Hi!大家久等了!时隔10天,白日梦的Elasticsea......
  • 白日梦的Elasticsearch实战笔记,ES账号免费借用、32个查询案例、15个聚合案例、7个查询
    目录一、导读二、福利:账号借用三、_searchapi搜索api3.1、什么是querystringsearch?3.2、什么是querydsl?3.3、干货!32个查询案例!四、聚合分析4.1、什么是聚合分析?4.2、干货!15个聚合分析案例五、7个查询优化技巧欢迎关注一、导读Hi!大家久等了!时隔10天,白日梦的Elasticsearch笔记......
  • C++ Primer 学习笔记——第九章
    第9章顺序容器前言本章是对第三章——字符串、向量和数组的扩展延伸,在第三章我们对标准库的顺序容器有一定了解,那么学习完本章我们对顺序容器的知识将会更加完整。标准库定义了几种关联容器,关联容器中元素的位置由元素相关联的关键字值决定。我们将在本章对关联容器做一定了解......
  • git学习笔记(十二):标签管理
    打标签,方便找。tag就是一个让人容易记住的有意义的名字,跟某个commit捆绑在一起。(就是一个指向commit的指针,原来的哈希表值太复杂了,不方便沟通,所以给了一种定制的简化版。)打标签切换到需要打标签的分支上,然后使用命令$gittagv1.0可以使用gittag查看所有标签。默认的标......
  • Excel VBA 窗体UserForm制作菜单栏与添加窗体最大化最小化功能(转载)
    窗体'--------------------------------------------------------'->Forms'Module'ClassModules'--------------------------------------------------------OptionExplicitPrivateDeclareFunctionFindWindowLib"user32&qu......
  • PyTorch基础知识-新手笔记
    逐元素操作Tensor中也有逐元素操作,大部分的数学运算都属于逐元素操作,逐元素操作的输入与输出的形状相同。常见的逐元素操作可参考下表:abs/add:绝对值/加法addcdiv(t,t1,t2,value=1):t1与t2按元素除后,乘以value加t,即t+(t1/t2)*valueaddcmul(t,t1,t2,value=1):t1与t2按元素乘后,乘......
  • 系统架构设计师笔记第39期:数据架构规划与设计
    数据架构规划与设计是指在软件系统中规划和设计数据的组织结构、存储方式和访问方法,以满足系统需求和实现数据的有效管理和利用。在数据架构规划与设计中,通常包括以下几个关键方面:数据模型设计:数据模型是描述系统中数据的逻辑结构和关系的抽象表示。常见的数据模型包括层次模型、网......
  • 【学习笔记-计算机网络基础】应用层
    概述 应用层是开放系统的最高层,是直接为应用进程提供服务的。 应用层协议和应用主要三种连接模式www(HTTP):服务器读取并处理、响应请求。BitTorrent:众多客户端自发构成文件部分,下载上传时由Tracker分配调度查询所处客户端。.Skype:找中间人传话,请求双房打开两座客......
  • 【DRF笔记链接总结】
    【DRF笔记链接总结】【一】Web应用模式/API接口测试/Postman【1.0】DRF之引入-Chimengmeng-博客园(cnblogs.com)【二】Restful规范【2.0】DRF之Restful规范-Chimengmeng-博客园(cnblogs.com)【三】序列化/反序列化-DRF介绍-CBV源码分析-APIView源码分析【3.0】DRF......