题目描述

这就是一个简单的树状数组入门题

可以动态地进行区间和查询

随时可能会进行更新

 

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
using namespace std;
int C[];
int n,m;
int lowbit(int x){
return x&(-x);
}
void add(int x,int d){
while(x<=n){
C[x]+=d;
x+=lowbit(x);
}//修改是从左往右
}
int sum(int x){
int ret=;
while(x>){
ret+=C[x];
x-=lowbit(x);//求和是从右往左
}
return ret;
}
int main()
{ cin>>n>>m;
for(int i=;i<=n;i++) {
int x;
cin>>x;
add(i,x);
}
for(int i=;i<=m;i++){
int k,a,b;
cin>>k>>a>>b;
if(k==)
add(a,b);
if(k==)
cout<<sum(b)-sum(a-)<<endl;
}
return ;
}

如果对树状数组的一些基础知识还不太了解

可以先看一下https://www.cnblogs.com/Tidoblogs/p/10887644.html

最新文章

  1. Apache Server Status主机状态查看
  2. Buzz words
  3. EventBus的使用,数据传递
  4. C关键字
  5. WPF xmal绑定数据,当显示数据过长用省略号代替的方法
  6. jenkins 重新设置 管理员密码
  7. javascript中,数组常用的方法有哪些?
  8. python一些模块的exe安装包在windows的64位系统里识别不到已安装Python目录的解决方法
  9. es随想二
  10. 接口调试之Postman 使用方法详解
  11. 机器学习 xgboost 笔记
  12. RF新手常见问题总结
  13. SQL语句方法语法总结(一)
  14. 13.vue组件
  15. ADB工具的使用
  16. Android之控件与布局,结构知识点,基础完结
  17. WPF 我的初学必备技能
  18. uva11383 转化为 二分图匹配
  19. mvc ---- ajax 提交过来的Json格式如何处理(解析)
  20. 新机器,分区为NTFS, 安装 Windows XP、Windows Server 2003 时蓝屏问题,修改为 FAT32 即可

热门文章

  1. android游戏开发系列(1)——迅雷不及掩耳的声音
  2. vue-router设置页面标题
  3. Android设备与外接U盘实现数据读取操作
  4. 机器学习编程接口(api)设计(oop 设计)
  5. TCP 报文段结构
  6. OpenCV调试利器——Image Watch插件的安装和使用
  7. Python属性和方法
  8. java程序设计第二课
  9. Ubuntu安装配置Qt 4.86环境
  10. hdu4614 二分法+段树