2025.1.26 近期练习

news/2025/2/3 11:36:23/文章来源:https://www.cnblogs.com/Simon-Gao/p/18697397

CF757G Can Bash Save the Day?

经典套路,对于 \(dis(p_i,x)\) 转化为 \(dep_{p_1}+dep_x-2dep_{lca(p_i,x)}\),其中 \(dep_{lca}\) 转化为链加链求和。
然后对于 \(p_1\sim p_n\) 到根的链 \(+1\),建出主席树,即可处理没有修改的弱化版。
考虑修改,交换 \(p_x,p_{x+1}\) 的话,只会影响到 \(p_x\) 的版本,考虑重构即可。复杂度大概 \(O(n\log^2n)\)
更好的做法考虑边分治,建出边分树,每个点存其负责子树里所有点到这个点的距离。
然后发现这里可以支持可持久化边分树,因为边分树是二叉的,做完了。

AT_cf17_final_j Tree MST

考虑 MST 的经典性质,考虑取出一个小的边集先跑 MST,不在当前 MST 的边一定不在后续 MST 里。
对于完全图跑 MST,我们可以考虑分治,即每次将若干个 MST 合并。
由于本题有树,考虑点分治,关于合并两个子树部分,那么点权是 \(dis_{rt,u}+w_u\),边权是两点权之和。
那么考虑贪心的话肯定是选点权最小的点连向其余所有点合并所有子树。
再加上 \(rt\) 连下来的边,边的个数是 \(O(siz)\),总复杂度是 \(O(n\log^2n)\)
分治算法的理解可以用平面结构刻画,相当于每次将平面切成四份(或更多),
递归左上右下,然后处理左下右上的联系,通常有特殊性质。
或者考虑采用 Boruvka 算法,关键是求当前连通块最近出边,换根 dp 解决也可以,复杂度 \(O(n\log n)\)
细节地,记录不同颜色的最近与次近出边即可。

P5360 [SDOI2019] 世界地图

考虑处理出前缀,后缀的生成树,然后现在相当于合并两个点集的生成树。
观察网格的性质,我们要相当于只需要新加 \(n\) 条边,形如 \((m,i)\to(1,i)\)
考虑已知 MST 如何新加边,假设加入 \((u,v)\),若 \(u\to v\) 路径存在更大的边就删掉,并加入该边。
由于只有 \(n\) 个影响到的点,且我们只关注其间的路径,所以我们可以考虑建出生成树的虚树。
已知虚树的话,询问将 \(n\) 条边与两侧虚树一起跑 kruskal 即可。
考虑前缀后缀生成树的建立,由于我们只关注虚树,所以也是新加边跟虚树跑 kruskal。

Uoj#576. 【ULR #1】服务器调度

\(\max dis\) 这个形式我们想到考虑树的直径,也就是一个点的树上最远点一定是直径两端点之一。
考虑对于每个颜色维护树的直径。然后考虑计算距离的话可以考虑取出直径中点。
考虑如何维护树的直径,我们很容易联想到维护子集的直径然后合并。那么我们维护一棵线段树即可。
考虑统计答案,设直径中点是 \(t\),长度为 \(L\)。考虑点 \(u\) 点延迟是 \(\sum_i dis(u,t_i)+\frac{L_i}{2}\)
套路地拆成深度的差 \(=\sum_i dep_u+dep_{t_i}-2dep_{lca(u,t_i)}+\frac{L_i}{2}\)。那么这个又变成一个链加链求和的形式。
那么查询子树 \(u\) 的答案,对于 \(u\) 贡献 \(siz_u\) 次,\(u\) 子树里的 \(v\) 贡献 \(siz_v\),那么配个权重即可。树剖。

P4220 [WC2018] 通道

对于类似的高维偏序和这种三棵树上的工作,首要考虑降维。
考虑对 \(T_1\) 进行边分治,那么相当于将 \(T_1\) 降维,考虑边分出来两个子树为 \(L,R\)
求出 \(d_1(i)\) 表示点 \(i\) 到边的距离,那么此时 \(T_1\) 已被处理,距离表示为 \(d_1(i)+d_1(j)\)
考虑 \(T_2\),建出 \(L\cup R\) 的虚树。考虑枚举 \(lca\)\(p\),距离表示为 \(dep(i)+dep(j)-2dep(p)\)
最后一项与 \(i,j\) 无关,可以省略,令 \(d_2(i)\) 代表 \(dep(i)\),那么此时 \(T_2\) 已被处理。
那么问题相当于在 \(T_3\) 上每个点挂 \(d_1(i)+d_2(i)\) 的点权,问直径,满足 \(lca(i,j)=p\)\(i\in L,j\in R\)
考虑直径的性质。考虑合并子集的直径这个套路。在 \(T_2\) 的虚树上以子树划分子任务。
考虑求出 \(f_{L,R}(i)\) 表示子树 \(i\) 里直径两端点对应 \(L,R\) 的是哪两个,那么合并上去即可,答案顺便统计。
那么就做完了。复杂度 \(O(n\log^2n)\)。注意边分治要转二叉树。
题解还有一种随机的做法,随机一个根,钦定三条路径都经过这个点,然后选最远点为根,迭代下去。
这个做法同样是借鉴了找直径的方法:找一棵树的直径就是迭代两次即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/878224.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

执行npm run dev时,报错10% building 2/5 modules 3 active node,如何解决?

错误信息如下:原因:版本问题,为了不替换node版本使用如下方法 在package.json文件下 将 "dev": " vue-cli-service serve", "build:prod": "vue-cli-service build", "build:stage": "vue-cli-service build --mode…

Make your ternimal more useful

目录引入Iterm2配置和Zshell配置TmuxVim配置基本使用插件配置Coc默认配置快捷键说明NerdTree快捷键分屏:Buffer, Windows和Tab 引入 本着好程序员要用好终端的信念,加之在使用mac过程中对快捷键依赖度增加,对鼠标的依赖逐渐减少,所以打算尝试配置终端的代码编写环境。 不曾…

龙哥量化:通达信技术指标编写技巧分享篇1-成交量和换手率

龙哥微信:Long622889代写通达信技术指标、选股公式(通达信,同花顺,东方财富,大智慧,文华,博易,飞狐)代写期货量化策略(TB交易开拓者,文华8,金字塔) 春节假期, 和朋友闲聊,发现在选股思路上很杂乱, 完全没有体系,但是大致可以分为两种,趋势策略和震荡策略,其…

昆明理工大学材料科学与工程学院 2025年硕士研究生招生预测调剂名额 (供考生提前规划)

亲爱的考生: 为助力各位考生提前规划考研调剂方向,昆明理工大学材料科学与工程学院结合近年招生趋势及学科发展需求,预测2025年材料工程相关专业将有部分调剂名额,具体信息如下。欢迎符合条件的考生持续关注! 一、预测调剂专业及名额注: 最终调剂名额以2025年研招网官方发…

hive-pig--pig安装

1.下载 curl https://dlcdn.apache.org/pig/pig-0.17.0/pig-0.17.0.tar.gz -o /opt/software/pig-0.17.0.tar.gz2.解压 tar -zxvf /opt/software/pig-0.17.0.tar.gz -C /usr/local/src/ mv /usr/local/src/pig-0.17.0/ /usr/local/src/pig 3.把二进制路径添加到命令行路径 echo…

PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络

神经常微分方程(Neural ODEs)是深度学习领域的创新性模型架构,它将神经网络的离散变换扩展为连续时间动力系统。与传统神经网络将层表示为离散变换不同,Neural ODEs将变换过程视为深度(或时间)的连续函数。这种方法为机器学习开创了新的研究方向,尤其在生成模型、时间序…

[ArkUI] 记录一次 ArkUI 学习心得 (1) -- 基础概念

1.一个原生鸿蒙应用的源码目录其中:ets是项目的源码目录.ets/pages是页面目录, 用于渲染页面.resources是资源目录,下面会讲. 2.第一个原生鸿蒙应用 话不多说,直接上代码. @Entry @Component struct Index {@State message: string = My First Program!;@State num: number = 0…

互联网已经没法用了

图片:作者制作我们已经到了这样的地步——曾经能让我们随时随地获取全世界信息的互联网,现在已经完全没法用了。 罪魁祸首是广告,情况糟糕到一种极端的程度,以至于它被称为“广告末日”(adpocalypse)。 现在我打开的几乎每个网站都塞满了广告,整个页面都快撑爆了。在电脑…

uniCloud(dcloud.net.cn)https证书配制

前端网页托管-->参数配置-->域名信息-->更新证书 阿里云 https--SSL证书获取

Cisco Catalyst 9800-CL Wireless Controller for Cloud, IOS XE Release 17.16.1 ED - 思科虚拟无线控制器系统软件

Cisco Catalyst 9800-CL Wireless Controller for Cloud, IOS XE Release 17.16.1 ED - 思科虚拟无线控制器系统软件Cisco Catalyst 9800-CL Wireless Controller for Cloud, IOS XE Release 17.16.1 ED 面向云的思科 Catalyst 9800-CL 无线控制器,专为基于意图的网络全新打造…

Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.16.1 ED - 思科无线控制器系统软件

Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.16.1 ED - 思科无线控制器系统软件Cisco Catalyst 9800 Wireless Controller, IOS XE Release 17.16.1 ED 思科 Catalyst 9800 系列无线控制器 IOS XE 系统软件 请访问原文链接:https://sysin.org/blog/cisco-cat…

图解收银台

收银核心和支付引擎是支付系统最核心的两个子系统之一。本篇主要讲清楚收银核心的设计与实现,包括收银核心如何渲染可用支付方式,如何做可支付检查,收银台核心的系统架构、领域模型,常见支付方式等。如果说电子商务是现代经济的繁华都市,那么在线支付系统无疑就是最繁忙的…