#YHMB0031. [模板] 树状数组1 : 单点修改,区间查询
[模板] 树状数组1 : 单点修改,区间查询
题目:树状数组1 : 单点修改,区间查询
题目描述
给定长度为 的数列 ,需处理 个操作,操作分为两类:
- 修改操作:
1 i x
→ 将第 个元素 加上 ; - 查询操作:
2 l r
→ 求区间和 (即 )。
输入格式
- 第一行:两个整数 (),表示数列长度和操作数;
- 第二行: 个整数 (初始数列,);
- 接下来 行:每行一个操作,格式为
1 i x
或2 l r
(保证 ,)。
输出格式
对于每个 查询操作(类型2),输出一行,为对应区间的和。
样例
输入:
3 2
1 2 3
1 2 0
2 1 3
输出:
6
解释:
- 初始数列:
[1, 2, 3]
; - 操作
1 2 0
: 加 0(无变化); - 操作
2 1 3
:求和 。
数据范围与挑战
- 数据规模:,要求 高效算法(需 时间复杂度)。
- 核心考点:树状数组(Fenwick Tree) 的应用(支持单点修改和区间查询)。