第16课:差分 @200班

潘CSP200班

2025-01-21 9:59:18
2025-02-19 21:48:41

信息与公告

【差分知识点】

1、【问题】:对数组a的任意区间进行频繁的减操作。

方法1:直接在数组a的区间上进行加减操作。方法简单,但容易超时。

方法2:使用差分算法。

2、差分算法步骤:(1)原数组a;(2)将原数组a转化为差分数组b;(3)在差分数组b上进行加减操作;(4)用前缀和方法将差分数组b转化为结果数组c。

其中:

(2)原数组a转化为差分数组b的公式:b[i] = a[i] - a[i-1];

(3)差分数组b上区间[l, r]的操作公式:b[l] = b[l] + x; b[r+1] = b[r+1] - x;

(4)将差分数组b转换为新数组c的公式:c[i] = c[i-1] + b[i];

3、差分将区间操作转化为单点操作原理

状态 题目 统计
差分【模板】 6 / 6 / 7
分苹果 6 / 6 / 6
干草堆 6 / 6 / 6
校门外的树2 4 / 5 / 5
G巴士计数 3 / 3 / 3