朴素算法Bare Algo

前缀和与差分

一二维前缀和、差分数组及树上前缀和。

算法题

(8)

第 1 阶段:先把一维/二维前缀和建模练熟

先训练“预处理一次,快速回答多次区间查询”的思路。重点是前缀数组定义、边界下标和二维容斥。

303. 区域和检索 - 数组不可变

简单
数组设计前缀和

724. 寻找数组的中心下标

简单
数组前缀和

304. 二维区域和检索 - 矩阵不可变

中等
数组设计矩阵前缀和

第 2 阶段:掌握前缀和 + 哈希统计子数组

这一阶段核心是把“区间和条件”改写成“两个前缀状态的关系”,再用哈希表统计历史状态出现次数。

560. 和为 K 的子数组

中等
数组哈希表前缀和

974. 和可被 K 整除的子数组

中等
数组哈希表前缀和

525. 连续数组

中等
数组哈希表前缀和

第 3 阶段:把差分思路用于批量区间更新

最后学习“先记变化量,再一次性还原结果”的差分思想,重点是区间起点加、终点后减,再配合前缀和恢复每个位置值。

1109. 航班预订统计

中等
数组前缀和

1094. 拼车

中等
数组排序堆模拟前缀和