[Note] Sone0 & LCT维护图上信息

本文探讨了在树结构上进行的各种操作,包括边的切断与新增、根节点变更、路径权值修改与查询等复杂任务。通过Splay、LCT、树剖等高级数据结构与算法,实现了对树上信息的高效维护与更新,如子树大小、路径权值和等。文章深入讲解了不同任务的优化策略与实现细节。
Sone0

DescriptionReference
有一颗n个节点的树,每个节点有编号与权值。有m次操作,每种操作都有独特的编号。
编号为1的操作,会切断当前树上存在的一条边,并新加一条边,保证操作完成后仍然是树。
编号为2的操作,会改变这颗树的根节点(初始根节点为1)。
编号为3的操作,会给树上一条路径上所有点的权值都增加x。
编号为4的操作,会对树上一条路径上点的权值信息进行轮换:
 如果是对 j j j k k k 这条路径操作,从 j j j 走到 k k k 的遍历序列是 a 1 ∼ p a_{1\sim p} a1p
 则 a 1 a_1 a1 的权值改为 a 2 a_2 a2 的权值, a 2 a_2 a2 的权值改为 a 3 a_3 a3 的权值…… a p − 1 a_{p-1} ap1 的权值改为 a p a_p ap 的权值, a p a_p ap 的权值改为 a 1 a_1 a1 的权值。
编号为5的操作,会对树上一条路径上所有点的权值都开方(下取整)
编号为6的操作,会询问树上一条路径上所有点的权值和。
编号为7的操作,会给定两个常数 p p p q q q
 你需要求出两个正整数 u u u v v v,对于给定路径上任意两点权值 x x x y y y ,需要满足 x / p &lt; u / v &lt; y / q x/p&lt;u/v&lt;y/q x/p<u/v<y/q
 如果无论如何都满足不了这个条件,那么需要满足给定路径上存在两点权值 x x x y y y,满足 p / x &lt; v / u &lt; q / y p/x&lt;v/u&lt;q/y p/x<v/u<q/y
 如果还是无论如何都不可能满足,那么该操作为非法操作。
 你需要求出 u u u v v v ,并最小化 v v v 。对于非法操作输出 − 1 -1 1
编号为8的操作,会询问树中一个子树的大小。
在这里插入图片描述


好SAO啊
Task1 O ( n 2 ) O(n^2) O(n2) 暴力
Task2 O ( n log ⁡ n ) O(n\log n) O(nlogn)
Task3 开方是类似于分块的做法,树上连分块都省了。暴力即可。 O ( n log ⁡ n ) O(n\log n) O(nlogn)
Task4 开方的时候 最大值等于最小值 或者最大值和最小值的差为 1 1 1 就打标记,然后退出。
Task5 类欧
Task6 Splay
Task7 暴力链表 or LCT
Task8 树剖
Task9  Euler-Tour-TreeReference是用一个 splay 维护欧拉游览序(实际上被省略成括号序列)的东西
    兹磁子树操作、链操作、Link&Cut、换根。
    换根:access,左翻翻,右翻翻;到根路径上点的子树打标记,下次遇到就翻翻
    emm 但是跟这道题没有什么关系。我只是看到就顺便去翻了翻。
   我们知道:没有 Link&Cut 的情况下,就算有换根也能够维护子树大小。
   方法:不真正地换根,知道根是哪个就可以。
Task10 LCT
Task11 把权值和形态用两个 Splay 分别维护。
Task12 换根+Link&Cut 的情况下,维护子树大小的套路是维护虚子树信息Reference
    Access 的时候虚实切换。然后修一下, Pushup 即可。
    Link(x,y) 的时候, y 的 Size 和 y 的祖先的 Size 都会变
    方法很暴力,Link(x,y){ Makeroot(x), Makeroot(y), LINK(x,y), Pushup(y); }
    (中间的 LINK(x,y) 就是指 Fa[x]=y, Siz[y]+=Siz[x] 之类的东西啦。)
    如果没写过的话推荐一道例题 [BJOI2014] 大融合 (ps BJOI2014 的板子好多啊。。
Task13 开方怎么做呢?……思路不变。把相同的段一起搞?
    懒的写就跟前面的一样啦。


有根树LCT

裸题啊 弹飞绵羊大家都写过。。
需要注意的:Cut(u,Fa) 的时候把 Fa 转上 Splay 顶再 Cut
Cut(u,Fa){ Access(u), Splay(Fa), CUT(u,Fa), Pushup(Fa); }


LCT维护图上信息

树连通性
不管用不用支持删边都是裸题。
BZOJ2049。

图连通性,不支持删边Reference
刚好看到了就顺便写一下吧。
首先要想到一个套路啊 并茶几维护缩点。
并茶几一号 维护两个点是否联通
每次 Link 如果两个点不是联通的 就直接连
如果两个点是联通的
并茶几二号 维护两个点是否双联通
没有就连+缩点
有就缩点

图连通性,支持删边
这东西就是动态图(连通性),loj[1][2]luogu 上面都有板子题。
离线
线段树分治可以秒离线。
每条边只在一段区间的时间内会存在
线段树的每个节点维护一个 vector 维护覆盖这个点的边存在的时间的区间
于是用可撤销并查集维护当前连通的点
在线
我看网上题解都是被插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插插
等哪天这个东西dssq+我要是没退役再补吧

内容概要:本文围绕基于Wasserstein生成对抗网络(W-GAN)的光伏场景生成程序展开研究,提出了一种利用W-GAN生成高精度、高波动性光伏出力场景的方法,以应对新能源发电中的不确定性挑战。研究通过构建生成器与判别器之间的对抗训练机制,有效捕捉光伏出力的时间序列特征与统计分布规律,生成符合实际运行条件的多样化场景数据,弥补实测数据稀缺问题。相较于传统GAN,W-GAN引入Wasserstein距离作为损失函数,显著提升了模型训练的稳定性与梯度传播的连续性,增强了生成样本的质量与多样性。文中还提供了完整的Python代码实现,便于读者复现与拓展。; 适合人群:具备一定Python编程能力、深度学习基础的研究生、科研人员,以及从事新能源电力系统规划、优化调度、不确定性建模等相关领域的工程师和技术人员。; 使用场景及目标:①用于电力系统中可再生能源出力的不确定性建模与风险评估;②支撑微电网、综合能源系统等场景下的随机优化、鲁棒优化与分布鲁棒优化研究;③为风光互补系统、储能配置、需求响应等应用提供高质量、多样化的输入场景;④帮助研究人员掌握深度学习在能源时序数据生成中的前沿应用,推动模型迁移至风电、负荷等其他场景生成任务。; 阅读建议:建议读者结合提供的Python代码进行动手实践,深入理解W-GAN的网络架构设计、损失函数构造、训练技巧及超参数调优策略,重关注Wasserstein距离在缓解模式崩溃与梯度消失问题中的作用,并尝试将该框架拓展至多变量、多站或多能源联合场景生成,提升模型的泛化能力与工程实用价值。
源码链接: https://pan.quark.cn/s/a4b39357ea24 在信息技术领域中,将网页或网站转化为移动应用程序(APP)是一项普遍的需求,尤其是对于那些希望在移动设备上提供便利访问的开发人员而言。HbuilderX是一个功能强大的集成开发环境,专门为HTML5、Vue.js等前端技术构建,并且支持将网页迅速转换为原生APP。以下将具体阐述如何运用HbuilderX来打包您的网站。 您需要【获取并安装HbuilderX】。您可以从官方指定的网址(http://www.dcloud.io/hbuilderx.html)下载到最新版本的软件。下载及安装过程一般较为简单,只需遵循安装向导的步骤即可顺利完成。 接下来,【启动HbuilderX并设立5+APP项目】。运行软件后,&ldquo;文件&rdquo;选项卡,然后选择&ldquo;新建&rdquo;-&gt;&ldquo;1.项目&rdquo;。在出现的界面中,挑选&ldquo;5+APP&rdquo;,为您的项目命名,随后&ldquo;创建&rdquo;键。这样,您便构建了一个用于打包网站的基本项目架构。 【设定网站位置】是打包流程中的核心环节。打开项目内的`manifest.json`文件,该文件用于定义应用的基本信息和配置。在此处,您需要输入您网站的IP地址,让HbuilderX明确要加载的网站内容。同时,您也能够设定应用的横屏或竖屏显示方式,以契合不同的用户使用环境。 为了执行【云打包并制作APK】,您必须先【在HbuilderX中注册并登入账号】。登入后,右键击项目,选择&ldquo;发行&rdquo;-&gt;&ldquo;原生APP-云打包&rdquo;。按照提示设置打包参数,例如应用标、名称、版本标识等,然后&ldquo;打包&rdquo;键。这个阶段可能需要一些时间,因为HbuilderX需要将您的网站内容转换为Android原生应用的格式。 在【打包作业...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值