用树状数组代替平衡树

Posted hailjedi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用树状数组代替平衡树相关的知识,希望对你有一定的参考价值。

那天我在做 USACO 的某道题的时候突发奇想用树状数组代替平衡树

(但是这似乎不是我首创的 idea)

(不过貌似用的人很少)

大体做法就是靠二分+树状数组,单次操作复杂度 ( O( log^2 n ) )

虽然复杂度比 Treap 高了一点,但是代码短呀!

(但是我不打算贴代码了 QWQ 因为我懒)

对于不超过 ( 10^5 ) 的长度还是很轻松的

时间宽松的话 ( 5 imes 10^5 ) 也好说

实际上对于 ( 10^6 ) 也可以玄学一点

(不过强烈不建议在正规考试中使用如此骚的操作,除非时限够用)

(但是遇到 CF 评测姬还是可以尝试一下技术分享图片

以上是关于用树状数组代替平衡树的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ3173: [Tjoi2013]最长上升子序列(树状数组)

(树状数组+离线查询)HDU 4417 - Super Mario

zoj2112 Dynamic Rankings 动态区间第k大,树状数组套平衡树

树套树初探

[BZOJ 2141][国家集训队 2011]排队 树状数组套平衡树

POJ 1804 Brainman(5种解法,好题,暴力,归并排序,线段树单点更新,树状数组,平衡树)