小结:平衡树

概要:

平衡树大概是最常用的高级数据结构了,而treap用来进行一般的信息维护,splay用来进行高级的信息维护(比如区间操作、lct等)(map、set党自重QAQ)。

技巧及注意:

细节十分多。

在对打tag的数据结构中,要操作的点的祖先一定要把tag都要下放完才行!这点非常重要!

treap中如果设小根堆的话(最好设小根堆),null的重量要设置为inf。

平衡树中的重复元素两种处理方法,看情况使用。

平衡树中的rank和select要和上一种注意事项结合起来,多想想。

splay中如果写lct要特判根。treap很多地方要传指针引用,splay完全不必。写好后最好手造几组hentai的数据(对应着题目的要求来),然后看是不是会re或wa。

数组一定不要开小,能开多大就开多大。

例题:

treap:

  1. 【BZOJ】3224: Tyvj 1728 普通平衡树(某不科学的oj)
  2. 【BZOJ】3196: Tyvj 1730 二逼平衡树(区间第k小+树套树)
  3. 【BZOJ】1146: [CTSC2008]网络管理Network(树链剖分+线段树套平衡树+二分 / dfs序+树状数组+主席树)
  4. 【BZOJ】1862: [Zjoi2006]GameZ游戏排名系统 & 1056: [HAOI2008]排名系统(treap+非常小心)

splay(模板最好用最新的):

  1. Splay 伸展树
  2. 【BZOJ】1507: [NOI2003]Editor(Splay)
  3. 【BZOJ】1901: Zju2112 Dynamic Rankings(区间第k小+树套树)
  4. 【BZOJ】1503: [NOI2004]郁闷的出纳员(Splay)
  5. 【BZOJ】1500: [NOI2005]维修数列(splay+变态题)(维护连续的块)
  6. 【BZOJ】1014: [JSOI2008]火星人prefix(splay+hash+二分+lcp)(维护lcp)
  7. 【UOJ】【UR #2】猪猪侠再战括号序列(splay/贪心)(很sb的构造题我写了splay。。而且比赛还没调出来...)
  8. 【BZOJ】1251: 序列终结者(splay)(null的初值忘记多想想...)
  9. 【BZOJ】2209: [Jsoi2011]括号序列(splay)(括号序列#1)
  10. 【BZOJ】2329: [HNOI2011]括号修复(splay+特殊的技巧)(括号序列#2,上面一题的加强版,一定要注意打tag!tag的顺序及相互影响!

然后是lct,看我另一个专题吧。。

 

转载于:https://www.cnblogs.com/iwtwiioi/p/4000014.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值