#P13825. 【模板】线段树 1.5(Dynamic Segment Tree)
0
【模板】线段树 1.5(Dynamic Segment Tree)
【模板】线段树 1.5(Dynamic Segment Tree)
题目描述
如题,已知一个长度为 的数列 ,初始时 序列满足 。你需要进行下面两种操作:
- 将某区间每一个数加上 。
- 求出某区间每一个数的和。
输入格式
第一行包含两个整数 ,分别表示该数列数字的个数和操作的总个数。
接下来 行每行包含 或 个整数,表示一个操作,具体如下:
1 l r k:将区间 内每个数加上 。2 l r:输出区间 内每个数的和。
输出格式
输出包含若干行整数,即为所有操作 2 的结果。
样例输入 #1
5 5
2 2 4
1 2 3 2
2 3 4
1 1 5 1
2 1 4
样例输出 #1
9
9
18
数据范围
对于 的数据,,。
对于 的数据,。
对于 的数据,,。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1600。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 25 | 2~8 | 小规模与边界测试数据 |
| 2 | 30 | 9~16 | 中等规模测试数据 |
| 3 | 35 | 17~25 | 满规模极限测试数据 |
出处:原题链接