🐋
Blog
算法
算法
  • 算法
  • 基础
    • 高精度
    • 二分
    • 位运算
    • 贪心
    • KMP
    • Master Theorem
    • 前缀和 & 差分
    • sort
    • 双指
  • 数据结构
    • 数据结构模拟
  • 数学
    • 组合数
    • 约数
    • 欧拉函数
    • 扩展欧几里得
    • 高斯消元
    • 容斥原理
    • 线性筛
    • 快速幂
  • 动态规划
    • 背包
    • 字符串匹配
    • 区间DP
  • 图论
    • BFS
    • DFS
由 GitBook 提供支持
在本页
  • 前缀和
  • 差分
  1. 基础

前缀和 & 差分

前缀和 和 差分 一般是解题时预处理方便计算的思想。先记录一维的。

前缀和

一维

cfor (int i = 1; i < N; i++) {
    // 前缀和数组的第 i 项 = 原数组的 0 到 i-1 项的和 + 原数组的第 i 项。
    B[i] = B[i - 1] + A[i];
  }

差分

一维

// 对区间操作
void insert(int l, int r, int c){
    s[l] += c;
    s[r + 1] -= c;
}

// 初始化
for (int i = 1; i <= n; i++) insert(i, i, p[i]);

// 操作
while (m --){
    int l, r, c;
    scanf("%d%d%d", &l,&r,&c);
    insert(l,r,c);
}
上一页Master Theorem下一页sort

最后更新于2年前