返回主页

一维前缀和

构造一维前缀和数组,在 O(1) 时间复杂度内查询区间和。

算法模板发布于 2026/09/07#区间和#前缀和
C++12 行210 Bytes
下载文件
const int N = 1e5+5;
using ll = long long;

ll a[N] = {0};

for (int i = 1; i <= n; i++) {
    cin >> a[i];
    a[i] += a[i-1];   // 原地构造前缀和
}

// 查询区间 [L, R] 的和
cout << a[R] - a[L-1];