内容学习:
简单来说:
假如有一个数组a[1,3,6,9,8,5,6]
差分实际上就是你想在一个数组里的某一个范围的所有数组+1,那么只要用到差分就可以解决。
若要将[L,R]上的数据全部加上1,那么就要只需要在差分数据的两端口s[L]+1,s[R+1]-1
若是减去1,那么就变成两端口s[L]-1,s[R+1]+1
原理请看上面引用的文章。
用途:
- 快速处理区间加减操作
- 性质:假如 f[i]=d[i]-d[i-1]
(上面图片来自大佬:Blind-Stab-CSDN博客)
空调那道题:如果考虑到n+1,
那么所有bn、加起来会等于0====》推出所有正数的和,负数的和是一样的。
差分注意事项:
1.注意D数组可能要用到long long类型。