暑假集训日记--8.19--树状数组

今天一天都在没有在家。后悔了没带电脑。。。以为今天就回去了,结果今天才知道是明天回去。今天先不写看过的题了,明天回家一并总结。算是提前透支假期吧。。。明天一定补上。

虽然今天在外面,但还是用手机看了一些博客。下面整理一下今天看到的东西。

树状数组常见题目的类型:

1、单点更新与区间求和,即给出若干数,会根据题意进行选择增加某一个位置的值或者是减少,或者是求某一段区间上的人数和。

(感觉这也是非常基础的树状数组的问题了。感觉就像是模版题,函数也是之前总结过的。)

2、更新区间与单点求值:在单点更新里,树状数组求和操作代表区间的和,在区间更新里,树状数组求和代表该位置元素的变化量。

(还是用基础函数进行操作。。Query(i)表示的是查询第i个数的变化量)

3、逆序数问题:排列中一对数的顺序和大小顺序相反,称为一对逆序数。树状数组可以求一个排列里逆序数对的个数。也可以用一个结构体来求逆序数对的和。。。有例题。。可以用结构体去记录和。

(逆序数的问题昨天也看了,也写过了一些。看了些例题,明天一并作总结。)

4、多维的树状数组:求特定区域的信息。

(感觉和一维树状数组差不多,,把一维改成二维。。例题还没看。。)

5、树状数组离散化:有效的解决数组越界的问题。。

(离散化可存最初的每个数的顺序,然后进行排序,对原来的位置重新赋值,昨天也提到了。。。)

目前了解的就这么多。。。。好像还有和dp联系起来的。感觉会更难。。还要继续努力。再难也要努力攻克。虽然感觉还是只了解了些皮毛。。还有的例题没看,争取尽快看完。另外给自己提个醒,还有一周就要开学了。这个时候更要沉下心来。把每个看过的例题弄懂,自己做一遍。

今天先这样吧。。明天一定好好做总结。。

你可能感兴趣的:(集训日记)