平衡树从启蒙到入土

news/2025/2/22 14:50:37/文章来源:https://www.cnblogs.com/ybtarr/p/18718026

首先得承认伊德利拉美貌盖世无双将数列改成数后处理起来更舒服

什么是平衡树

更广泛的定义:左右子树高度不超过 1 的

如果将这东西和二叉搜索树结合,便是平衡树搜索树

平衡树分类:

  1. treap 随机
  2. splay 贪心
  3. fhq 合并 分裂

fhq 实现

合并

给出两个树,根分别为 a、b,如果我们将 a 作为根,那么 b 将会占掉 a 的一个儿子,所以节省脑细胞,如果通过要占那个儿子决定谁是根,当占掉儿子后那么原来那个儿子所在的子树就需要和 b 树合并。

分裂

将一个树按 v 分裂并,一边为小于等于 v

我们选择分成俩个树 a、b

如果当前这个根的权值小于等于 v,那么我们将当前节点以及左儿子全部给 a,但是右子树可能存在小于等于 v 的,所以我们需要继续往下走,继续切。

整体来说就像切蛋糕,假设我要吃一块稀奇古怪的,而每一块可能和另一块共顶一块巧克力,所以在切的时候必须绕过巧克力。

稍微讲一下应用好吧

P1486 [NOI2004] 郁闷的出纳员

OK呀,一眼上去,我们要维护一个全自动的处死机,我们可以形象的解释为:

我们可以区间(全局)加减法

看到这句时你的感受应该是:看到这个我们想到了线段树!

我们可以删掉小于最低值的人

看到这句时你的感受应该是:看到这个我们想到了一个动态维护点权的支持增删改查的 B(这里主要是因为一眼上去没有东西好做) 玩意

总的一句来说我们需要一个动态维护点权的支持增删改查的在 logn 的时复的数据结构

好,那么,会的人应该已经开始笑了,不会的我们来一个个分析

动态增删改查,很简单,我们可以用一颗树来维护,方便一点,二叉树

接下来,他要logn,所以我们很快想到要让他平衡,好,那么会一点的也开始笑了

实在不会?最后我们考虑什么平衡树可以区间加减,splay?fhq?

都行,问题来了,我们应该怎么实现动态维护点权

!当然,我们可以用懒标记来修改 !当然,我们需要下传标记 !我们似乎已经成功了
代码:是不是很弱智

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

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

相关文章

Entity Framework Core简单使用

它是微软官方发布的基于ADO.NET的ORM框架。通过EF可以很方便地将表映射到实体对象或将实体对象转换为数据库表。 ORM:将数据存储从域对象自动映射到关系型数据库的工具。ORM主要包括3个部分:域对象、关系数据库对象、映射关系。ORM使类提供自动化CRUD,使开发人员从数据库API…

易语言 -- 开山篇章

易语言简介 易语言(EPL)是一门以中文作为程序代码的编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为 E 语言,也通常代指与之对应的集成开发环境。其最早的版本发布可追溯至 2000 年 9 月 11 日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人…

《ESP32-S3使用指南—IDF版 V1.6》第八章 MENUCONFIG菜单配置

第八章 MENUCONFIG菜单配置 1)实验平台:正点原子DNESP32S3开发板 2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6 3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/es…

已安装TortoiseGit,但是文件夹不显示相关图标

问题原因:注册表图标显示太靠后了,只有前15个生效,排序该前就行项目文件夹右键->settings->Overlay Handlers->Start register editor->一下文件重命名,前面多加点空格,保证排名在前面就行->任务栏右键任务管理器->Windows资源管理器->右键重新启动-…

用一个静态图片实现出怪路线提示

用一个静态图片实现下面的效果

Windows平台调试器原理与编写01.调试框架

调试器原理与编写01.调试框架-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net 调试框架 调试器最基本功能: 断点,单步 断点分为三类软件断点 硬件断点 内存断点window提供了一套机制,帮助用户来实现一套3环的调试器 事件驱动 : 窗口的各种操作(外在的想要对窗…

本地部署DeepSeek-R1-AWQ

一、部署环境准备 系统信息:主机名为 10-200-3-23 IP 地址为 10.200.3.23 操作系统为 ubuntu 22.04 配备 8 卡 A100。二、驱动与桥接器安装安装 gcc执行命令 apt-get update -y apt install build-essential -y安装驱动下载驱动 wget https://us.download.nvidia.com/tesla/…

k8s部署nfs+sc

1.下载软件包nfs-subdir-external-provisioner-4.0.18.tgz 该软件包内文件截图 修改values.yaml 在目录内执行 helm install nfs-provisioner -f values.yaml . #老重要了2.查看执行是否成功 3.测试是否成功 编写yaml apiVersion: v1kind: PersistentVolumeClaimmetadata…

P2661 [NOIP 2015 提高组] 信息传递——染色做法

原题 本来想当水题刷的,结果被水题刷了。。。70到80到90到100,必须写个题解记录一下(doge) 题目分析一句话:求一个无权有向图中的最短环路(确保有环) tip:每一个点出度为一,那么必然有环,以样例为例如下。思路没必要每轮模拟全部的传送,只看某一个人的传送过程: 就…

有哪些好用的AI工具?(你想要的AI工具都在这)

1. 常见应用场景 1.1. 国内通用大模型模型名称 简介 官网地址DeepSeek 深度求索公司研发的高性能开源模型,以低成本、高推理能力著称,支持数学、代码等复杂任务。 https://chat.deepseek.com/豆包 字节跳动开发的智能语言模型,基于深度学习技术,支持多种自然语言处理任务。…

Kubernetes 集群上部署 Open WebUI

在前一篇博文中记录了 k8s 集群上部署 ollama + deepseek-r1:7b,这篇博文记录一下 Open WebUI 的部署。还是用 helm 部署,添加 open-webui 的 helm repo,准备 helm 清单文件,通过 helm 命令在 ai 命名空间下进行部署在前一篇博文中记录了 k8s 集群上部署 ollama + deepseek…

2025.2.22

Hehe_0 模拟赛内容随笔 [NOIP2015]金币1 2 3 4 。。。1 2-3 4-6 7-10 。。。观察数据范围1e4,暴力就行,然后可以去思考优化版本 由于已经把规律给出来了,所以可以提前离线处理出来,如果数据过大,可以预处理每一次金币变化的天数,然后根据提问二分找区间然后求和。这种数…