递推与前缀和
# 算法概述
# 递推的定义
# 递推
通过计算前面的一些项得出序列中指定项的值。
- 斐波拉契数列
- 卡特兰数
# 前缀和
是一种重要的预处理,,能大大降低查询的时间复杂度,可理解为数列的前 n 项和
C++ 中有前缀和的标准库
1 |
|
# 差分数组
差分是一种和前缀相对的策略,可以当作是求和的逆运算。
-
定义:
-
性质:
- 的值是 的前缀和,即
- 计算 的前缀和:
sum =
# 递推部分
(例题)
# 前缀和部分
# 一维差分数组
- dif[i] = a[i] - a[i-1]
# 二维差分数组
# 定义
- dif[i][j] = a[i][j] - a[i-1][j] - a[i][j-1] + a[i-1][j-1]
# 前缀和定义:
- pre[i][j] =
# 求前缀和:
- pre[i][j] = pre[i-1][j] + pre[i][j-1] - pre[i-1][j-1] + a[i][j]
# 算法扩展
# 递推的扩展
# 二阶线性递推式
# OEIS
# 数论
# 前缀和的扩展
# 多维前缀和
# 树上差分
# 边差分
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿福の可爱猫窝!