
平衡树
文章平均质量分 67
IcePrincess_1968
这个作者很懒,什么都没留下…
展开
-
BZOJ3196: 二逼平衡树 题解
Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在区间内的前驱(前驱定义为小于x,且最大的数) 5.查询k在区间内的后继(后继定义为大于x,且最小的数)Input第一行两个数 n,m 表示长度为n的有序序列和m个操作 第二行...原创 2018-07-14 23:11:20 · 378 阅读 · 0 评论 -
BZOJ2733: 永无乡 题解
考虑线段树合并,初始的时候对每个点建一棵动态开点线段树,merge两棵线段树的时候只要像这样操作:如果root1和root2中有一个为0,则直接返回另一个递归的调用merge处理左子树和右子树下面简证这样的复杂度是O(nlogn)O(nlogn)O(nlogn) 刚开始每棵线段树中只有一个元素,所以每棵线段树只有lognlognlogn个节点,所以刚开始的总结点数是nlognnlo...原创 2018-04-09 13:29:58 · 233 阅读 · 0 评论 -
BZOJ3223: 文艺平衡树 题解
平衡树模板题(其实想练模板最好还是维修数列。。。) 对每个节点维护一个旋转标记就好了#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <cstdlib>#include <utility> #in...原创 2018-04-05 20:55:07 · 212 阅读 · 0 评论 -
SPOJ GSS6: Can you answer these queries VI 题解
平衡树裸题(我写这道题目是练板子的)平衡树的每个节点上维护lmax,rmax,max,sum,sz具体更新见代码#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <cstdlib>#include <utility...原创 2018-03-19 21:51:25 · 406 阅读 · 0 评论 -
BZOJ1588: 营业额统计 题解
这道题其实可以用set水过去但最近在练习平衡树,就写了一个平衡树的版本PS: 据说这道题的数据有问题,有一个点少了一个数字,所以读入的时候要加一句 if (scanf("%d",&x)==EOF) x=0;#include #include #include #include #include #include #include #include #include原创 2018-02-02 14:44:07 · 313 阅读 · 0 评论 -
BZOJ1269: 文本编辑器 题解
平衡树模板题注意bzoj上不能写srand(time(NULL))不然会RE#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2018-02-02 12:00:44 · 278 阅读 · 0 评论