![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
胆识与智慧
在探索中成长
展开
-
POJ 2299 Ultra-QuickSort 求逆序数 树状数组
POJ 2299 求逆序数就是求一个序列中的逆序数。网上说的一些“离散化”,是为了处理一些数据太大的情况,让数据变得和“相对大小有关”,而不是“绝对大小”。例如两个数据 10000000000 和 1 , 如果我们只需要知道 10000000000 > 1 就够了,就可以避免空间不够的情况,要开10000000000 的数组是不行的。举个例子吧:9 1 0 5 4我们只要知道 9...原创 2018-02-10 11:53:00 · 189 阅读 · 0 评论 -
从一维树状数组到二维树状数组
上一篇讲的是一维数组的树状数组,可以实现“单点修改,区间查询”,“区间修改,单点查询”,“区间修改,区间查询”。今天接触二维树状数组。其实,要明确的一点是,不管是一维还是二维树状数组,都只是工具而已,只是帮助我们更快地求和,查询,树状数组的这些操作都可以用我们平常的方法求,例如一直加。面对一个二维数组,我们要求它们的和,会怎么做呢?先求出第一行的总和再求出第二行的总和再求出第三行的总和.........原创 2018-02-11 10:49:39 · 287 阅读 · 0 评论 -
树状数组学习
我觉得,树状数组挺重要的就是那个 lower( x ) = x & -x ,我说说我的理解吧。每一个正整数都可以拆分成 2 的某些幂之和,例如 15 = 8 + 4 + 2 + 1 , 6 = 4 + 2 , 7 = 4 + 2 + 1 (感觉可以解释LCA的倍增跳)。那么转换成二进制是什么样的呢?15 (十进制) = 1111 = 1000 + 100 + 10 + 1 6 (十进制...原创 2018-02-10 20:19:25 · 169 阅读 · 0 评论