平衡树练习总结

文章目录

  • 前言
  • 普通平衡树
  • 文艺平衡树
  • 郁闷的出纳员
  • 书架
  • 宠物收养场
  • 机械排序
  • 千山鸟飞绝
  • 总结

前言

专门刷了一天半的平衡树 (附带划水OvO)
使用的是蜜汁常数的splay
感觉对平衡树的理解还是有帮助的
一些较为常规的平衡树的题应该是差不多了
更正之前刚学的观点!
平衡树当然在维护排名上很有优势
但它最强大的功能应该是区间问题
还有一些对于整个集合改变的乱七八糟的神奇标记(见:千山鸟飞绝)
一道道说一说吧

普通平衡树

传送门
怎么能不水一发模板呢
(连打了三天后终于能二十分钟打完一次A了qwq)
当然还有一个强化版模板

文艺平衡树

传送门
这题我初看根本没有看出来跟平衡树有个毛线关系
看了好几篇题解才明白了思想
就是按数列顺序建一棵树,然后每次把区间内的提到一起打个翻转标记
标记是精髓 (线段树频频点头)
注意不要忘了pushdown!(线段树继续点头)

郁闷的出纳员

传送门
这题就好办不少了
经典的维护排名问题
关键是离线处理一个对整体员工工资调整的累加器

书架

传送门
这个的操作还是比较灵活的
get:不会就提到根试试
放到顶部就是把s提到根后左子树全接到后继上
底部反过来同理
与前一本(后一本)交换就直接提到根再与前驱(后继)交换信息就可以了

宠物收养场

传送门
比较裸了
这也紫我实在没话说
题解好多说建两棵平衡树
但我觉得减一棵足够了啊
记录一下当前是狗多还是人多就行了
爱护环境,节约树木

机械排序

传送门
本题的关键是相同编号按初始顺序选择
所以预处理出来下一个相同编号的位置就能确定每次要翻转的东西
再记录一下这些东西对应的splay树上的编号
就变成文艺平衡树了

千山鸟飞绝

传送门
作为一道毕业题 (xs,根本还毕不了业) 可以说是不错了
把坐标离散化一下
然后对每个坐标建一课树
更新对树里面的用标记,对于根和新加入的直接暴力更新就行
这个不能算自己的蜜汁设定导致我写出了各种各样的bug
最后写的怪东西常数过大,变成了吸氧代码
开始归咎于splay的常数

总结

总的来说,我的平衡树还差得远呢
但至少可以说会一点了
NOIP就是考平衡树应该也会裸一点吧(祈祷ing)
继续加油哇!OvO

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

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

相关文章

二维树状数组

二维树状数组可以实现在平面上的区域加、区域查询等操作。 区域修改 我们在一维时维护树状数组的区间操作时,对其进行了差分。类比一维的思想,我们在二维平面上也对树状数组差分。 我们来看二维的前缀和: \[sum(i,j)sum(i-1,j)sum(i,j-1)-sum…

【AcWing 249. 蒲公英】

【AcWing 249. 蒲公英】 题意: 长度为n的序列,给定区间,求区间众数,如果出现次数相同,输出编号最小的 题解: 区间众数,不带修改,强制在线(否则可以莫队) …

年末展望:Oracle 对 JDK收费和.NET Core 给我们的机遇

2018年就结束了,马上就要迎来2019年,这一年很不平凡,中美贸易战还在继续,IT互联网发生急剧变化,大量互联网公司开始裁员,微软的市值在不断上升 ,在互联网公司的市值下跌过程中爬到了第一的位置&…

等比数列三角形 (数论 + 黄金分割点)+ JOISC 2016 Day3 T3 「电报」(基环树 + 拓扑排序)

文章目录T1:等比数列三角形题目题解代码实现T2:电报题目题解代码实现T1:等比数列三角形 题目 求三边都是 ≤n 的整数,且成等比数列的三角形个数 注意三角形面积不能为 0 注意 oeis 中未收录此数列,所以并不需要去搜了…

模板:笛卡尔树

介绍 笛卡尔树是一种非常特殊的二叉搜索树。每个节点有两个信息x和y。如果只考虑 x,它是一棵二叉搜索树,如果只考虑 y,它是一个小根堆。 实现 按照y升序插入 显然应该插入到一条极右链上 但为了维护x二叉搜索树的性质 对于右链上x>当前…

乱搞

占个坑,找时间补

【AcWing 243. 一个简单的整数问题2】

例题:【AcWing 243. 一个简单的整数问题2】 线段树模板题,区间修改区间求和。 题解: 将序列分成N/B块,维护: id[i] i/B,i所在块标号 res[id] 第id块的sum base[id] 第id块的add标记修改时&#xff0…

CF1540B-Tree Array【数学期望,dp】

正题 题目链接:https://www.luogu.com.cn/problem/CF1540B 题目大意 nnn个点的一棵树,开始随机选择一个点标记,然后每次随机选择一个与被标记点连边的点标记,按照标记顺序排列,求期望逆序对数。 1≤n≤2001\leq n\leq 2001≤n≤2…

使用PerfView监测.NET程序性能(三):分组

在上一篇博客使用PerfView监测.NET程序性能(二):Perfview的使用中,我们通过Perfview帮助文件中自带的代码来简单使用了Perfview,了解了基本操作。现在来看看Perfview中的分组操作(Grouping)。分…

【做题记录】构造题

CF468C Hack it! 题意: 令 \(F(x)\) 表示 \(x\) 的各个位上的数字之和,如 \(F(1234)123410\) 。 给定 \(a(a\le 10^{18})\) ,请求出任意一组 \(l,r(l,r\le 10^{200})\) ,要求满足: \[\sum_{il}^{r}F(i)\pmod{a}0 \]输出…

主席树 学习报告

文章目录前言可持久化线段树代码区间第k大代码练习粟粟的书架代码森林代码任务查询系统代码列队代码前言 主席树,全称是可持久化权值线段树 利用r和l-1两棵权值线段树作差得到[l,r]的信息 从而解决各种问题 在排名这方面功能极其强大 可持久化线段树 学主席树之前…

Star Way To Heaven (prim最小生成树) // [ NOIP提高组 2014]飞扬的小鸟(DP)

文章目录T1:Star Way To Heaven题目题解代码实现T2:飞扬的小鸟题目题解代码实现T1:Star Way To Heaven 题目 小 w 伤心的走上了 Star way to heaven。 到天堂的道路是一个笛卡尔坐标系上一个 n*m 的长方形通道 顶点在 (0,0) 和 (n,m) 。 小…

CF1043E Train Hard, Win Easy

CF1043E Train Hard, Win Easy 题意: n个人有Ai和Bi两个属性,给出m个关系:xi yi表示xi和yi不能配对 i,j两人规定匹配的价值为min (Ai Bj , Bi Aj ) 回答出每个人跟所有人配对(除开不能和自己匹配的人)的价值总和 …

P7887-「MCOI-06」Existence of Truth【构造】

正题 题目连接:https://www.luogu.com.cn/problem/P7887?contestId52021 题目大意 给出三个长度为nnn的序列xi,yi,zix_i,y_i,z_ixi​,yi​,zi​&#xff0c;求一个序列aaa满足0≤ai<10970\leq a_i<10^970≤ai​<1097且 xi(∑j1iaj)yi(∑jinaj)≡zi(mod1097)x_i\lef…

IdentityServer4-客户端的授权模式原理分析(三)

在学习其他应用场景前&#xff0c;需要了解几个客户端的授权模式。首先了解下本节使用的几个名词Resource Owner&#xff1a;资源拥有者&#xff0c;文中称“user”&#xff1b;Client为第三方客户端&#xff1b;Authorization server为授权服务器&#xff1b;redirection URI&…

【做题记录】[NOIP2011 提高组] 观光公交

P1315 [NOIP2011 提高组] 观光公交 我们想在 \(k\) 次加速每一次都取当前最优的方案加速。 考虑怎样计算对于每一条边如果在当前情况下使用加速器能够使答案减少的大小。 如果当前到达某个点时已经有人在等待了&#xff0c;那么加速这个点以前的边能够让这个点下车的人距离减少…

[2019 牛客CSP-S提高组赛前集训营4题解] 复读数组(数论)+ 路径计数机(数上DP)+ 排列计数机(线段树+二项式定理)

文章目录T1&#xff1a;复读数组题目题解代码实现T2&#xff1a;路径计数机题目题解代码实现T3&#xff1a;排列计数机题目题解CODET1&#xff1a;复读数组 题目 有一个长为nk的数组&#xff0c;它是由长为n的数组A1,A2,…,An重复k次得到的。 定义这个数组的一个区间的权值为…

模板:(多重)哈希

前言 还在为不想写双哈希又怕哈希冲突挂掉发愁吗&#xff1f; 来这里&#xff0c;满足你的一切梦想&#xff01; 哈希还有模板&#xff1f; 其实就是把相关的函数和数组打包到一个结构体里 但是针心方便啊&#xff01;&#xff01;&#xff01; 如果想双哈希的话&#xff0c;定…

CF1183H Subsequences (hard version)

题意&#xff1a; 长度为n的字符串S&#xff0c;现在要找出k个不同的子序列&#xff0c;使得这些序列的总价值最低 一个序列的价值等于删去的字符长度&#xff08;空串也算子序列&#xff09; 1≤n≤100,1≤k≤1012 题解&#xff1a; 一看就是dp&#xff0c;我们先想想串a可…

P7888-「MCOI-06」Distinct Subsequences【dp】

正题 题目大意 给出一个长度为nnn的字符串aaa&#xff0c;求它的所有子序列的本质不同子序列个数。 1≤n≤1061\leq n\leq 10^61≤n≤106 解题思路 考虑每个子序列产生的贡献&#xff0c;为了防止算重我们一个只统计走子序列自动机上的边的子序列&#xff0c;也就是说对于TTT…