树套专题

BZOJ 3262(树套树)

【bzoj3262】陌上花开 Description 有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb。显然,两朵花可能有同样的属性。需要统计出评出每个等级的花的数量。 Input 第一行为N,K (1

ZOJ 2112 Dynamic Rankings (动态区间第K大) (线段树套SBT+二分)

题目:支持修改数组元素的区间第k大。 看题解这道题是可以用树状数组套主席树做的,但是树状数组套主席树不优化空间的话,要140MB左右,这题只给了32MB。 没看懂怎么优化,只能用线段树套平衡树了,我写的是线段树套SBT,线段树的每个节点上的SBT存这个节点代表的区间的所有数。 修改操作就是对于叶节点到根的所有SBT删除旧元素再加入新元素,删除的元素把下标入栈,插入元素时优先从栈中取。

替罪羊树套线段树 【bzoj3065】 带插入区间k小值

题目大意: 维护一个序列。 支持以下操作: 1、查询区间k小值 2、修改一个值 3、插入一个值 题目分析: 如果不带插入,主席树就可以搞定了。 带插入的话我们就既要维护权值大小,又要维护位置,一维的数据结构无法同时维护这两个值,所以就采用树套树的方法。 内层用权值线段树维护权值,外层用平衡树来维护位置。 但是平衡树里存的节点信息是一大颗果实饱满充满生机富有活力的线段树,无法快速

【bzoj 3110】[Zjoi2013]K大数查询|树套树

开始打算自己yy写了半天 弃疗 采用权值线段树套主席树 BZOJ没A  数据被加强 各种无果后 弃疗 UPD 3.16: 要来了数据 负数的没问题 。。。 tmd 居然真给 MAX_LONG_INT  吓死我 改LL TLE 又改 卡时过 被fqk大爷无情嘲讽 #include <cstdio>#include <iostrea

「BZOJ1901」 Dynamic Rankings - 树套树/整体二分

题目描述 给定一个长度为N的已知序列 A [ i ] ( 1 ≤ i ≤ N ) A[i](1\le i\le N) A[i](1≤i≤N),要求维护这个序列,能够支持以下两种操作: 查询 A [ i ] , A [ i + 1 ] , A [ i + 2 ] , … , A [ j ] ( 1 ≤ i ≤ j ≤ N ) A[i],A[i+1],A[i+2],…,A[j](1\le i\le

【luogu P4278】【ybt金牌导航4-5-2】带插入区间K小值(树套树做法)

带插入区间K小值 题目链接:luogu P4278 / ybt金牌导航4-5-2 题目大意 要你维护待插入和修改的区间 k 小在线的查询。 思路 正解是块状链表+值域分块,但是我是在替罪羊树专题里面看到这道题了,就用的是树套树。 然后写完之后看了看正解的做法,懒得写的但是代码的下面会讲讲大概做法。 提前说好,我的代码只能过 luogu 的数据(还要开 O2),因为树套树的复杂度确实非常