题意:
一个数组A[1::n],初始值全为0,m 个操作:
1. 使区间[L; R] 内每个数都加上v
2. 查询区间[L; R] 内所有数的和
数据范围:
1 <= n <= 106, 1 <= m <= 106, |v| <=1e3
时限4 秒
题解:
区间修改(带lazy 标记)、区间查询的线段树可以在O(log n)的时间内维护区间的和.
此题写一个裸的区间修改、区间查询的线段树即可.
#include <iostream>
#include <stdio.h>
#define ll long long
#define lson l, mid, rt << 1
#define rson mid + 1, r, rt << 1 | 1
using namespace std;
const int MAXN = 1e7 + 10;
ll sum[MAXN << 2