平衡树
文章平均质量分 58
DOFYPXY
这个作者很懒,什么都没留下…
展开
-
[SPOJ1043,1557,1716,2713,2916,4487,6779,19543]GSS八题系列
[SPOJ1043]GSS1求区间最大字段和,不带修改,线段树维护总和sum,最大子段和gss,最大左子段和lgss,最大右子段和rgss,即可。 更新答案: sum=ls->sum+rs->sum; lgss=max(ls->lgss,ls->sum+rs->lgss); rgss=max(rs->rgss,rs->sum+ls->rgss);原创 2017-10-19 08:29:18 · 476 阅读 · 0 评论 -
Treap模板
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int rd(){ static int seed=23333; return (seed=(66666ll*seed+66666ll)&2147483647);}int n;str...原创 2018-03-07 11:04:27 · 227 阅读 · 0 评论 -
替罪羊树模板
替罪羊树要记一下几个东西:t:当前节点权值cvr:子树当前大小(包括删除的点)sz:子树中元素个数(不包括删除的点)ex:当前元素是否存在插入操作: 1. 插入一个数会导致一些其某些祖先满足要重构的条件,此时要取最浅的祖先直接重构。 2. insert要返回一个 tree ** 类型的东西,表示要重构的那个指针的地址。 3. 重构的时候(在travel)中要把已删除的点空间释...原创 2018-03-14 20:41:42 · 493 阅读 · 0 评论 -
[BZOJ3600]没有人的算术 重量平衡树+线段树
先讲讲重量平衡树是什么,可以先看2013年国家集训队clj的论文。 重量平衡树首先要保证平衡而且不能是均摊平衡,然后要么没有旋转,要么旋转是影响的子树大小要期望loglog\log或者均摊loglog\log。Treap和替罪羊树都满足重量平衡树的条件。 那么对于这题,发现复杂度瓶颈在于比较两个数的大小(复杂度可能达到指数级),因为操作中出现的数的种类是O(n)O(n)O(n),我们希望能给每...原创 2018-03-14 21:13:21 · 461 阅读 · 0 评论