「题解」「数据结构」树状数组1

本文介绍了树状数组(也称二进制指数求和)的基础概念,包括单点修改和区间查询的操作。通过实例展示了树状数组在处理动态前缀和问题上的高效性,并给出了相关操作的代码实现。此外,还提供了数据范围与提示,便于理解和实践。
摘要由CSDN通过智能技术生成

前言

 这里我们不描述其用法,在后面的题中详细描述

  • 单点修改,区间查询
  • 区间修改,单点查询
  • 区间修改,区间查询
  • 求逆序对数

单点修改,区间查询

题目描述

这是一道模板题。

给定数列 a[1], a[2], \dots, a[n] ,你需要依次进行 q 个操作,操作有两类:

  • 1 i x:给定 i,x ,将 a[i] 加上 x
  • 2 l r:给定 l,r ,求 \sum_{i=l}^ra[i] 的值(换言之,求 a[l]+a[l+1]+\dots+a[r] 的值)。
输入格式

第一行包含 2 个正整数 n,q ,表示数列长度和询问个数。保证 1\le n,q\le 10^6
第二行 n 个整数 a[1], a[2], \dots, a[n]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值