随笔分类 -  树状数组与线段树

摘要:差分 在这之前了解过前缀和,比如a,b两个数组,b是a的前缀和,那么有: b[0] = a[0] b[1] = a[1] + a[0]= b[0] + a[1] b[2] = a[2] + a[1] + a[0]=b[1]+a[2] ………… 同样的,也可以通过递推关系式来计算b数组 b[i] = 阅读全文
posted @ 2021-05-07 21:56 kanbujian55 阅读(202) 评论(0) 推荐(0)
摘要:数列区间最大值(线段树) https://www.acwing.com/problem/content/1272/ 线段树跟树状数组十分类似。 树状数组: 线段树: 起始无论是线段树还是树状数组,本质上都是数组,都可以进行区间计算和单点更新。那么这两者有什么区别吗? 1.根据图像我们可以看出,树状数 阅读全文
posted @ 2021-05-07 21:52 kanbujian55 阅读(63) 评论(0) 推荐(0)
摘要:树状数组是前缀和在数值更新方向的一种进化: 假设给出一个数组a,b是该数组的前缀和,c是该数组的树状数组。 先给出树状数组的图解: 为什么要创建树状数组呢?我们知道,在前缀和b中,如果想要改变a的某一个位置元素的值,会对前缀和数组造成极大的影响,最坏的情况下一个元素的改变会对整个b数组产生影响,更新 阅读全文
posted @ 2021-05-07 21:50 kanbujian55 阅读(69) 评论(0) 推荐(0)