差分数组

数据量不大时频繁的区间修改问题

设d为差分数组

对区间[l, r] 加x,则d[l] += x, d[r + 1] -= x

那么原数组中,第i个数的值为d从0到i的前缀和

证明:

为什么时0到i的前缀和呢?

因为对d的操作是对称的,如果i不在某个修改区间,则求前缀和时因为对称性会消除那个区间修改

否则 会加上左端点的修改,而右端点不会加上

 

区间查询个数时,求sum(连续单点符合的个数 - 1)即可

 

posted @ 2022-09-26 08:12  WTSRUVF  阅读(14)  评论(0编辑  收藏  举报