平衡树
文章平均质量分 67
IcePrincess_1968
这个作者很懒,什么都没留下…
展开
-
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 · 266 阅读 · 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 · 291 阅读 · 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 · 385 阅读 · 0 评论 -
BZOJ2733: 永无乡 题解
考虑线段树合并,初始的时候对每个点建一棵动态开点线段树,merge两棵线段树的时候只要像这样操作: 如果root1和root2中有一个为0,则直接返回另一个 递归的调用merge处理左子树和右子树 下面简证这样的复杂度是O(nlogn)O(nlogn)O(nlogn) 刚开始每棵线段树中只有一个元素,所以每棵线段树只有lognlognlogn个节点,所以刚开始的总结点数是nlognnlo...原创 2018-04-09 13:29:58 · 208 阅读 · 0 评论 -
BZOJ3223: 文艺平衡树 题解
平衡树模板题(其实想练模板最好还是维修数列。。。) 对每个节点维护一个旋转标记就好了 #include <cstdio> #include <iostream> #include <cstring> #include <string> #include <cstdlib> #include <utility> #in...原创 2018-04-05 20:55:07 · 194 阅读 · 0 评论 -
BZOJ3196: 二逼平衡树 题解
Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在区间内的前驱(前驱定义为小于x,且最大的数) 5.查询k在区间内的后继(后继定义为大于x,且最小的数) Input 第一行两个数 n,m 表示长度为n的有序序列和m个操作 第二行...原创 2018-07-14 23:11:20 · 355 阅读 · 0 评论