AVL树算法笔记
Created|Updated|笔记
|Post Views:
二话不说 直接进入正题
AVL树
性质
-
空树是一个AVL树
-
对于任意节点,平衡因子不超过1
-
树高为log N
以防你忘了平衡因子:右子树高度−左子树高度
操作
1 |
链接
Author: hsl-beat
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2025-04-11
RMQ的三种奇妙方法
这是2025年3月29号的截图 痛苦的一天 前言 用于记录不幸挂掉的某学校比赛的文章。。。 RMQ是什么 Range Max/Min Query,中文就是区间最大/最小值查询,简称RMQ,这篇文章主要探讨RMQ的3种解决方法。 题面 给你一个长度为NNN的正整数数组A=(A1,A2,...AN)A=(A_1,A_2,...A_N)A=(A1,A2,...AN)。 然后给你MMM个查询,每次查询给你左端点lll和右端点rrr,回答AAA的第lll个元素到第rrr个元素之间的这个区间中的元素的最大值。 1≤N≤1000001 \leq N \leq 1000001≤N≤100000 解题思路 首先你应该想到的 我都把这个看似很简单的题单独拎出来了,你如果还想着BF的话可以选择去往生堂把自己埋了,啊没错这个问题有几种奇妙的方法可以让程序跑的快多了!!! ST表 思路 Sparse...
2025-02-12
Tarjan算法笔记
今天是2025年2月12日,这是洛谷的占卜结果: 显然适合学习新算法,今天早上正好学了tarjan,来稍微写一写。 tarjan tarjan求SCC SCC是什么 度娘说了: 有向图强连通分量:在有向图G中,如果两个顶点ViV_iVi,VjV_jVj间(Vi>VjV_i>V_jVi>Vj)有一条从ViV_iVi到VjV_jVj的有向路径,同时还有一条从VjV_jVj到ViV_iVi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图GGG的每两个顶点都强连通,称GGG是一个强连通图。有向图的极大强连通子图,称为强连通分量(strongly connected...
2025-02-15
对拍,但是构造题
对拍是什么?对拍是一种校验程序正确性的方法,通过比较两个程序的同一个测试样例的输出结果,就可以做到判断正确性。 想必各位dalao们都会对拍吧,在oi这种shabi赛制中,对拍就显得尤为重要。 但是,如果你哪天运气不好,遇到了构造题,应该怎么办呢? 其实说的高大上,这个玩意其实不难,营养并不多,比赛的时候动动小聪明其实也能想到 ...
2025-03-03
树状数组学习笔记
树状数组是什么 本质上就是一个长得像树的数组,长得很像一个二叉树,like下面的图: 我们拿它干嘛呢?我们可以拿它来单点修改,区间查询。 那就有人说:欸,那线段树功能性比树状数组多,你怎么不用线段树? 你这么认这个功能性干嘛啊,它会把其他方面给异化掉的懂吗,知不知道什么叫异化跟具体化? 赛场上可能同一个问题树状数组要写10min,但是线段树要30min,你说你写那个? 怎么实现树状数组 好奇树状数组是怎么被人想出来的 lowbit 树状数组是通过这个叫lowbit的函数实现的,它主要用来求一个二进制数最低的一位111以及它后面的一堆000组成的数。 说具体点,比如说114114114这个数,它就等于(1110010)2(1110010)_2(1110010)2,那求lowbit后就会变成(10)2(10)_2(10)2,也就是2 那想要求出lowbit函数的值,我们只需要让它返回xxx andandand (−x)(-x)(−x)就可以了 结构 还是那张图片,我们把数组从前往后编号,你会发现深度相同的位置二进制下末尾0的个数是相同的! ...
2025-04-11
ABC388游记(A~E)
Atcoder ABC388个人游记(A~E) 比赛链接 A. ?UPC 题面 给你一个字符串 SSS 。在这里, SSS 的第一个字符是大写英文字母,第二个和后面的字符是小写英文字母。 打印由 SSS 的第一个字符和 UPC 按此顺序连接而成的字符串。 思路 a题难度稳定依旧炒鸡简单,按题意模拟即可。 代码 123456789#include<bits/stdc++.h>using namespace std;int main(){ char s; cin >> s; cout << s << "UPC"; return 0;} B.Heavy Snake 题面 有 NNN 条蛇。 最初, iii (条)蛇的厚度是 TiT_iTi ,长度是 LiL_iLi 。 蛇的重量定义为其厚度和长度的乘积。 对于满足 1≤k≤D1 \leq k \leq D1≤k≤D 的每个整数 kkk ,求每条蛇的长度增加 kkk 时最重的蛇的重量。 1≤N,D≤1001 \leq N, D \leq...
2025-04-11
ABC390游记(A~D)
Atcoder ABC390个人游记(A~D) 比赛链接 作者今天很无语,被dmy恶心后状态不好,以为atc会简单,结果又被恶心了,脑子抽了,写的不如以前详细,但是我还是不会改的( A. 12435 题面 给你一个整数序列 A=(A1,A2,A3,A4,A5)A=(A_1,A_2,A_3,A_4,A_5)A=(A1,A2,A3,A4,A5) ,它是通过对 (1,2,3,4,5)(1,2,3,4,5)(1,2,3,4,5) 进行置换得到的。 请判断 AAA 是否可以通过对 AAA 中相邻的两个元素进行1次的交换操作来按升序排序。 思路 把正确的数组弄出来,比较差异就行了,很简单。 有没看到相邻结果挂1发的乐子吗 代码 123456789101112131415161718192021222324#include<bits/stdc++.h>using namespace std;int main(){ int a[5]; cin >> a[0] >> a[1] >> a[2] >>...
Comments
Announcement
不要ddos我的网站了谢谢