首页 > 其他分享 >次小生成树学习笔记

次小生成树学习笔记

时间:2024-12-09 20:55:18浏览次数:3  
标签:边权 最小 笔记 生成 学习 严格 枚举 添加

严格次小生成树

前置芝士

最小生成树|倍增LCA

定义

如果最小生成树选择的边集是 \(E_M\),严格次小生成> 树选择的边集是 \(E_S\),那么需要满足:(\(value(e)\) 表示边 \(e\) 的权值) \(\sum_{e \in E_M}value(e)<\sum_{e \in E_S}value(e)\)。

也就是说,严格次小生成树的边权和一定是比最小生成树的边权和要小,且是其它生成树中最大的。

题目

我们先来看一道例题

P4180 [BJWC2010] 严格次小生成树

求出无向图中的严格次小生成树

数据中无向图不保证无自环
对于 \(100\%\) 的数据, \(N\le 10^5\),\(M\le 3\times10^5\),边权 \(\in [0,10^9]\),数据保证必定存在严格次小生成树。

解决办法

题目中 \(n\) 和 \(m\) 的值很大,肯定不能暴力枚举出每个生成树。

但是我们仔细思考一下,严格次小生成树或许就是最小生成树中删去某一条边再添加另一条边得到的。

正向枚举删掉的边貌似不好处理,我们可以反向枚举添加的那条边。

那我们该怎么判断删掉那条边呢?仔细思考,我们可以得知一个信息:添加一条边后,这棵树就出现了环,我们只要删去环上的权值最大的一条边即可。

但是这样还会出现一个问题,就是如果最大的边和添加的这条边边权相同怎么办?(如图)

img

标签:边权,最小,笔记,生成,学习,严格,枚举,添加
From: https://www.cnblogs.com/komerebigin/p/18596005

相关文章

  • 算法学习 - Huffman树
    题目:输入N个权值(1-100正整数),建立哈夫曼树Note:一次遍历找出序列中最小数和次小数:如果序列只有一个数,返回这个数遍历这个序列,对每个数:如果这个数比最小数小,更新原来的次小数为最小数,更新原来的最小数为这个数;如果这个数不比最小数小,但比次小数小,更新原来的次小数为这个数。......
  • 圆方树 笔记
    圆方树学习笔记圆方树,就是圆方树。一张图可以转化为一颗圆方树,有一些性质。点双图中任意两不同点之间都有至少两条点不重复的路径。但是这里,我们把不存在割点的图看作点双圆方树中,普通的点是圆点,一个点双是方点。方点向这个点双中包含的所有节点连边看图就会一目了然:圆方......
  • IDEA banner生成插件
    下载插件:SpringBootBannerGenerator1.文件夹右键新建会有提示,输入内容和文字格式,会自动生成(注意同一个文件夹下面不能重复创建)2.输入需要生成的文字3.设置格式结果如下......
  • Java Web 开发学习中:过滤器与 Ajax 异步请求
    一、过滤器Filter:过滤器的概念与用途在一个庞大的Web应用中,有许多资源需要受到保护或进行特定的预处理。过滤器就像是一位智能的守卫,站在资源的入口处,根据预先设定的规则,决定哪些请求可以顺利访问资源,哪些请求需要被拦截或进行特殊处理。比如,在众多页面中,判断用户是否登录......
  • JavaScript学习
    关于jsJavaScript是一种动态的、弱类型的解释型语言,最初设计用于浏览器端的交互。特点轻量级:语法简单,入门门槛低。跨平台:支持在浏览器、Node.js等多种环境中运行。解释型:无需编译,直接在运行时执行。事件驱动:非常适合处理异步任务,如用户交互、网络请求等。核心概念变......
  • 【学习笔记】树分治
    点分治普通的分治在一段子段\([l,r]\)中处理和\(mid\)有关的信息然后递归处理\([l,mid)\)和\((mid,r]\)。由于中点的优秀性质这种看似暴力的做法实际复杂度是\(O(n\logn)\)的。点分治是一种把分治思想运用到树上解决问题的算法(但是其实更多人愿意称其为数据结构?)。它一......
  • IO进程学习笔记(持续更新)
    1、IO进程大量的函数接口(70多)记住函数名+函数的功能。大量的笔试题,面试题。先记住,在理解。函数只要是用封装好的。2、man手册普通命令。系统调用的函数。库函数。特殊文件。文件格式。游戏。附加的一些变量3、IO介绍I:input输入O:output输出对文件的输入和输......
  • cmu15545笔记-WAL和数据库恢复
    目录总览缓存策略(BufferPoolPolicies)ShadowPaging(No-Steal+Force)SQLiteRollbackMode(Steal+Force)总结WAL(Write-HeadLog)基本思想日志格式(LogSchemes)检查点(CheckPoint)ARIES算法日志序列号事务提交流程模糊检查点(FuzzyCheckPointing)ARIES恢复算法总览该笔记包含了原课......
  • MySQL学习笔记Day5
    一、基本函数就像是编程语言的函数一样,可以把复杂的功能封装到函数里,供使用者调用。1、数字函数函数功能用例ABS绝对值ABS(-100)ROUND四舍五入ROUND(4.62)FLOOR强制舍位到最近的整数FLOOR(9.9)CEIL强制进位到最近的整数CEIL(3.2)POWER幂函数POWER(2,3)LOG对数函数LOG(7,3)LN......
  • Tr0ll: 1 Vulnhub靶机渗透笔记
    Tr0ll:1Vulnhub靶机渗透笔记本博客提供的所有信息仅供学习和研究目的,旨在提高读者的网络安全意识和技术能力。请在合法合规的前提下使用本文中提供的任何技术、方法或工具。如果您选择使用本博客中的任何信息进行非法活动,您将独自承担全部法律责任。本博客明确表示不支持、不鼓......