#5722. CSES1648 动态区间和查询

0

CSES1648 动态区间和查询

#CS1648. 动态区间和查询

动态区间和查询

题目背景

翻译自 CSES-1648 题。

题目描述

给定一个包含 n 个整数的数组,你的任务是处理 q 个查询,查询类型如下:

  • 更新位置 k 的值为 u。

  • 查询区间 [a,b][a,b][a,b] 中的值的和。

输入格式

第一行包含两个整数 n 和 q:分别表示数组的元素数量和查询的数量。

第二行包含 n 个整数 x1,x2,…,xnx_1,x_2,…,x_nx1​,x2​,…,xn​:表示数组中的值。

接下来有 q 行,每行包含三个整数,表示查询的类型:

  • 类型 1:更新查询,格式为 "1 k u1 \ k \ u1 k u",表示将位置 k 的值更新为 u。

  • 类型 2:区间和查询,格式为 "2 a b2\ a\ b2 a b",表示查询区间 [a,b][a,b][a,b] 的元素和。

输出格式

对于每个类型为 2 的查询,输出该区间的和。

样例

8 4
3 2 4 5 1 1 5 3
2 1 4
2 5 6
1 3 1
2 1 4
14
2
11

说明/提示

1n,q21051 \leq n,q \leq 2 \cdot 10^5

1≤xi,u≤1091 \leq x_i,u \leq 10^91≤xi​,u≤109;

1kn1 \leq k \leq n

1a,bn1 \leq a, b \leq n