摘要: 差分 在这之前了解过前缀和,比如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)
摘要: 判断日期 https://www.acwing.com/problem/content/1231/ 分析: 这个题的难点在于对于三个数,题目只要求输出三个序列, 按坐标表示就是0 1 2, 1 2 0, 2 1 0 但是还得满足一个条件,就是输出的这三个序列还得按照从小到大的顺序输出 ,这就无法直接 阅读全文
posted @ 2021-05-07 21:48 kanbujian55 阅读(256) 评论(0) 推荐(0)