因为线段树和树状数组很多题目用这两种方法都可以解决,所以决定这两种数据结构同步交叉进行学习和刷题
资料:
NotOnlySuccess博客
《树状数组》--吴豪
《线段树和树状数组》--郭炜
单点更新
HDU 1166 敌兵布阵 线段树 | 树状数组。
HDU 1754 I Hate It 线段树,求区间求最大/最小值
POJ 3264 Balanced Lineup 线段树,同上题差不多,要同时求最大值和最小值
HDU 1394 Minimum Inversion Number 线段树 | 树状数组求出逆序数,利用这个序列的是连续的0~n-1可以进行递推
HDU 2795 Billboard 线段树
poj 2352 Stars 线段树 | 树状数组
poj 2481 Cows 线段树 | 树状数组。 和上题有点像
poj 3067 Japan 线段树 | 树状数组
poj 2299 Ultra-QuickSort 线段树 | 树状数组,离散化求逆序数
HDU 2689 Sort it 上题换个马甲后出现在HDU
CF 6E Exposition 线段树求RMQ,然后枚举起点,二分终点查询区间。不过RMQ还是用ST算法效率高,只是最近在学线段树。
成段更新
HDU 1698 Just a Hook 线段树经典入门题
HDU 1556 Color the ball 线段树 | 树状数组,简单题
poj 3468 A Simple Problem with Integers 线段树,成段更新,区间求和,简单题
zoj 1610 Count the Colors 线段树,成段更新染色,注意是对区间而不是点染色
poj 2528 Mayor's posters 和上题差不多,不过这题是对点染色,而且要离散化
Ural 1019 A Line painting 和zoj1610相似,离散化要注意要添加0,和10^9这两点