#P2068. 统计和(Sum Queries)

0

统计和(Sum Queries)

统计和(Sum Queries)

题目描述

给定一个长度为 n(0≤n≤105)n(0\leq n\leq 10^5),初始值都为 00 的序列,x(0≤x≤105)x(0\leq x\leq 10^5) 次的修改某些位置上的数字,每次加上一个数,并在此期间提出 y(0≤y≤105)y(0\leq y\leq 10^5) 个问题,求每段区间的和。

输入格式

第一行 11 个整数,表示序列的长度 nn。

第二行 11 个整数,表示操作的次数 w(0≤w≤2×105)w(0\leq w\leq 2\times 10^5)。

后面依次是 ww 行,分别表示加入和询问操作。

其中,加入用 x 表示,询问用 y 表示。

xx 的格式为 x a b 表示在序列上第 aa 个数加上 bb。保证 1≤a≤n1 \leq a \leq n,1≤b≤1091 \leq b \leq 10^9。

yy 的格式为 y a b 表示询问 aa 到 bb 区间的加和。保证 1≤a≤b≤n1 \leq a \leq b \leq n。

输出格式

每行一个正整数,分别是每次询问的结果。

样例输入 #1

5
4
x 3 8
y 1 3
x 4 9
y 3 4

样例输出 #1

8
17

数据范围

对于 100%100\% 的数据,1≤n≤1051 \le n \le 10^5,1≤w≤2×1051 \le w \le 2 \times 10^5,修改操作满足 1≤a≤n,1≤b≤1091 \le a \le n, 1 \le b \le 10^9,询问操作满足 1≤a≤b≤n1 \le a \le b \le n。

知识点与难度

本题涉及的知识点从属于 CSP-J,难度(CF Rating):1200。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~7 小规模 n,w≤1000 / 边界 n=1 / 单点区间 a=b 查询
2 15 8~11 Hack: 连续10^5次每次加10^9总和达10^14卡32位溢出 / Hack: 未修改区间和为0
3 30 12~20 满规模 n=10^5, w=2×10^5 树状数组高频单点加与区间和
4 25 21~25 随机修改与查询回归测试

出处:原题链接