#P1060. 【模板】线段树 1

    ID: 72 传统题 1000ms 256MiB 尝试: 1 已通过: 0通过率: 0%难度: 普及+/提高− ← 上一题 下一题 → 随机一题 上传者: 标签 模板题 线段树 延迟标记 数据结构
显示设置

【模板】线段树 1

题目描述

给出一个长度为 nn 的整数序列 a1,a2,…,ana_1,a_2,\dots,a_n。现在要支持 mm 次操作,操作有两种:

  • 1 x y k:把 ax,ax+1,…,aya_x,a_{x+1},\dots,a_y 中的每个数都加上 kk;
  • 2 x y:输出 ∑i=xyai\sum\limits_{i=x}^{y}a_i。

输入格式

第一行两个整数 n,mn,m。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n。

接下来 mm 行,每行第一个整数为 11 或 22 表示操作类型,含义如上。

输出格式

对每个 2 操作输出一行一个整数,表示区间和。

输入输出样例 #1

输入 #1

5 5
1 5 4 2 3
2 2 4
1 2 3 2
2 3 4
1 1 5 1
2 1 4

输出 #1

11
8
20

说明

数据范围

  • 对于 100%100\% 的数据,1≤n≤2×1051\le n\le 2\times 10^5,1≤m≤2×1051\le m\le 2\times 10^5,∣ai∣≤106|a_i|\le 10^6,∣k∣≤106|k|\le 10^6,操作中出现的 x,yx,y 均满足 1≤x≤y≤n1\le x\le y\le n。题目保证任何时刻序列中每个数的绝对值都不超过 6×1096\times 10^9,但区间和会更大,请使用 6464 位整数。