首页 > 其他分享 >USACO 2023 Pt T2

USACO 2023 Pt T2

时间:2023-12-24 19:56:04浏览次数:33  
标签:联通 Pt T2 Kruskal 合并 USACO tag 维护 考虑

有趣的小清新数据结构题。

首先考虑这个合并每次找到最小的边的过程很类似于 Kruskal 最小生成树的合并过程,只不过每次是钦定了合并一个大联通块和一个点。由于需要从不同的起点开始考虑,也就是需要多次处理这个类似 Kruskal 的过程,自然想到 Kruskal 重构树。我们考虑建出 Kruskal 重构树,下面考虑如何在这个过程中维护出从每个点开始出发,合并到目前的答案。

考虑一次合并两个联通块的过程,我们合并两个联通块,相当于从这两个联通块中伸出来边权最小的边就是当前这条边了,也就是说,以这两个联通块内部的任何一个点为起点,合并完子树之后下一条合并的边自然就是这条边,再接下来合并的边就是另一个子树内以这条边的另一个端点为起点需要合并的边。发现这种操作对于整一个子树内需要进行的处理是相同的,所以可以想到线段树来维护区间操作。我们每次取出从这条边两个节点出发这个子树内部的答案,然后把这些操作和当前这条边的贡献挂到另一棵子树上。下面来考虑如何用一个支持快速合并的 tag 来维护这种操作。

考虑维护一个 pair $(mul,add)$ 表示如果初始值为 $x$,经过这个 tag 之后的值是 $mul*x+add$。那么两个 tag 的合并是容易的,具体来说设两个 tag 分别为 $(mul1,add1)(mul2,add2)$,那么新的 tag 就是 $(mul1*mul2,add1*mul2+add2)$,所以就解决了上述信息的快速维护,然后直接用线段树维护这个 tag 就做完了。

写代码的时候注意区分原图中的点和建出 kruskal 重构树上的点编号和编号的 dfs 序,不要写混了。

标签:联通,Pt,T2,Kruskal,合并,USACO,tag,维护,考虑
From: https://www.cnblogs.com/Harry27182/p/17924771.html

相关文章

  • 【阅读笔记】图像增强-《Efficientcontrast enhancement using adaptive gamma correc
    2013年发表在TIP上的对比度增强算法AGCWD(Efficientcontrastenhancementusingadaptivegammacorrectionwithweightingdistribution)提出了一种自动映射技术,通过亮度像素的伽马校正和概率分布来提高调暗图像的亮度。为了增强视频,所提出的图像增强方法使用关于每帧之间差异的时......
  • ChatGPT对话为什么不用WebSocket而使用EventSource?
    文章目录1.引言2.WebSocket和EventSource简介2.1WebSocket2.2EventSource3.ChatGPT对话系统的特点4.EventSource的优势4.1简单易用4.2容错性强4.3兼容性良好5.为何选择EventSource而非WebSocket?5.1单向通信模式5.2长轮询模式5.3简化部署和维护6.使用EventSource的代......
  • Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
     001、报错记录合并gvcf使用脚本如下:gatk CombineGVCFs-RGCF_001704415.2_ARS1.2_genomic.fna--variantgvcf.list-Otest.g.vcf.gz 报错如下: 002、解决方法,设置内存上限可以解决上述报错:gatk--java-options"-Xmx480g-Xms480g-XX:+UseSerialGC"CombineGVC......
  • Typescript 类型基础操作
    Typescript类型基础Typescript的类型系统非常强大,它可以让你通过类型操作符基于现有的类型创建出新的类型。在面对复杂的类型需求的时候,可以通过下面的常见类型操作使类型创建更加简单、代码更加容易维护。1、泛型泛型主要是为了解决类型复用的问题。可以说泛型给了你在使用......
  • 文心一言 VS 讯飞星火 VS chatgpt (163)-- 算法导论13.1 3题
    三、用go语言,定义一棵松弛红黑树(relaxedred-blacktree)为满足红黑性质1、3、4和5的二叉搜索树。换句话说,根结点可以是红色或是黑色。考虑一棵根结点为红色的松弛红黑树T。如果将T的根结点标为黑色而其他都不变,那么所得到的是否还是一棵红黑树?文心一言:是的,如果将一棵根结......
  • 文心一言 VS 讯飞星火 VS chatgpt (163)-- 算法导论13.1 3题
    三、用go语言,定义一棵松弛红黑树(relaxedred-blacktree)为满足红黑性质1、3、4和5的二叉搜索树。换句话说,根结点可以是红色或是黑色。考虑一棵根结点为红色的松弛红黑树T。如果将T的根结点标为黑色而其他都不变,那么所得到的是否还是一棵红黑树?文心一言:是的,如果将一棵根......
  • buuctf:crypto
    鸡藕椒盐味  首先用海明校验码将正确的二进制得出来是110110100000,再用md5进行解码,得出两个flag,一个一个试咯,好嘛,第一个就对了【MRCTF2020】古典密码知多少  打开就像猪圈密码一样的玩意儿,但是又不完全是,就发现还有一些其他的新鲜玩意儿,标准银河字母+圣堂武士+猪圈,解密......
  • [CSharpTips]C# 设置应用程序开机自启动
    C#设置应用程序开机自启动主要是通过动态生成vbs脚本,放置在系统自启动目录下,系统开机时会自动执行vbs脚本启动应用程序开机自启动,自动生成vbs脚本 using(StreamWriterfile=newStreamWriter($@"{Environment.GetFolderPath(Environment.SpecialFolder.Startup)}\StartU......
  • Typescript 函数详解
    前言虽然JS/TS支持面向对象编程,但大部分时候还是在写函数。函数是一等公民。本文介绍下如何在TypeScript中使用函数,包括:函数类型声明函数参数类型:可选参数、默认参数、剩余参数函数返回值类型this类型函数重载函数类型面试中经常会被问到,JS中有哪几种数据类型。其中就会有函......
  • WebMvcConfigurerAdapter
    WebMvcConfigurerAdapter 是SpringBoot1.x版本中用于自定义SpringMVC配置的一个类。但在SpringBoot2.x之后,这个类已经被标记为废弃,并推荐使用 WebMvcConfigurer 接口来替代。WebMvcConfigurerAdapter 提供了默认的实现,使得你可以在无需扩展 WebMvcConfigurer 接口......