不知道是哪里的题,反正是道最最基础的模版题

代码:

#include <iostream>
#include <algorithm>
#include <string.h>
#include <ctype.h>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <fstream>
#define  maxn 1000005
#define lowbit(x) ((x)&(-x))
typedef long long ll;
using namespace std;
ll c[maxn]={0},n,m,v,pos;
void update(int pos,int v)
{for(int i=pos;i<=n;i+=lowbit(i))c[i]+=v;
}
ll getsum(int pos)
{ll sum=0;for(int i=pos;i>0;i-=lowbit(i))sum+=c[i];return sum;
}
int main()
{//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);string s;scanf("%lld %lld",&n,&m);while(m--){cin>>s>>pos>>v;if(s=="Add"){update(pos,v);}if(s=="Sub"){update(pos,-v);}if(s=="Ask"){int l=pos,r=v;printf("%lld\n",getsum(r)-getsum(l-1));}}return 0;
}

【模版题】树状数组(单点修改+区间查询)相关推荐

  1. hdu2642二维树状数组单点更新+区间查询

    http://acm.hdu.edu.cn/showproblem.php?pid=2642 题目大意:一个星空,二维的.上面有1000*1000的格点,每个格点上有星星在闪烁.一开始时星星全部暗淡着 ...

  2. 经典算法题每日演练——第十题 树状数组

    原文:经典算法题每日演练--第十题 树状数组 有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的. 一:概序 假如我现在有个 ...

  3. C#LeetCode刷题-树状数组

    树状数组篇 # 题名 刷题 通过率 难度 218 天际线问题 32.7% 困难 307 区域和检索 - 数组可修改 42.3% 中等 315 计算右侧小于当前元素的个数 31.9% 困难 493 翻转 ...

  4. 树状数组区间修改和区间求和

    最一般树状数组能做到的操作是单点修改,区间求和,都是log(n)级别的.原理就是用树状数组维护a[i]的部分和. 想要做到修改区间,求单点值也很简单,用树状数组维护a[i]的差分数组d[i]的部分和既 ...

  5. HDU ACM 4031 Attack (树状数组--单点查询+区间更新)

    http://acm.hdu.edu.cn/showproblem.php?pid=4031 用了树状数组的区间更新 单点查找(一般为单点更新 区间查找) 例如 区间(2,4)加1 则Updata(2 ...

  6. 校门外的树——树状数组+区间修改

    校门外的树 [题目分析]题目描述的是一种区间修改,看起来好像要用线段树.但是对于这种区间内部没有差别并且查询的是区间内的类别的问题,是可以转化为树状数组进行的.毕竟树状数组更加简单. 我们的关注点应该 ...

  7. bzoj2683:简单题(树状数组套CDQ分分治)

    CDQ(陈丹琦)分治 CDQ显然是一个人的名字(2008NOI金牌选手陈丹琦) 这种离线的分治算法在算法界被称为"CDQ分治".  首先回忆一下归并排序的分治, 它的操作是将数组二 ...

  8. 线段树的建树 单点修改 区间查询

    (未经允许,严禁抄袭转载)(若有错误,请多多指教) 看了这张图后,大家可能明白建树的意思了 看代码以及注释 #include<bits/stdc++.h> using namespace ...

  9. hdu5775(思维题树状数组)

    通过分析可得一个点它最右边的位置就是他现在的位置加上他后面的比他小的数字的个数. 一个点最左边的位置就是他开始的位置或者排完序以后的位置min(i,num[i]); 用数组数组从后往前可以巧妙的维护一 ...

  10. 数据结构一【树状数组】普通、二维、离线树状数组的(单点修改,单点查询,区间修改,区间查询)模板及应用例题总结

    文章目录 树状数组 lowbit 线段树与树状数组 单点修改 区间查询 区间修改 区间求和 二维树状数组 离线树状数组 例题 POJ:stars MooFest [SDOI2009]HH的项链 Tur ...

最新文章

  1. Tungsten Fabric SDN — 零宕机(ZIU)自动化运维
  2. tensorflow之transpose的使用
  3. Linux之systemd服务配置及自动重启
  4. mysql数据库部分操作指令
  5. LInux:shell 命令:字符串截取
  6. 通过gparted 调整 ubuntu 磁盘
  7. php如何监听页面滚动,html5中在元素滚动条在滚动时触发的事件onscroll
  8. 服务器传输文件损坏,使用ftplib将文件传输到FTP服务器后,文件已损坏
  9. Unity文件、META文件、Prefab文件
  10. Linux家目录被误删除恢复
  11. 中环混改尚存变数 高调的TCL要上演“资本魔输”?
  12. ae合成设置快捷键_AE常用的快捷键(UI动效方向)
  13. obj文件格式学习(自用)
  14. 基于Python的热门音乐特征数据分析
  15. 顶级黑客欢乐解析:宝宝事件中人肉搜索的七种方法
  16. QQ伤感日志_你教会了我爱,让我懂得了爱
  17. 电脑手机生产力提升操作
  18. ETH:2018年06月03日《ETH技术及其应用大会》总结(转自CSDN灵钛科技)
  19. Neodynamic Barcode Professional for Windows Forms 14.0
  20. 计算机中的网络拓扑结构有哪些,网络中有哪些拓扑结构 轻松解读网络拓扑结构...

热门文章

  1. matlab输入一个正的实数x,VB程序题:用InputBox 输入一个正实数,用Pring方法在一行上显示出它的平方和平方根、立方和立方根,每个数保留三位小数,其间有间隔。...
  2. MyBatis generator 注解方式和xml方式
  3. jenkins使用_Spring Boot 系列:使用 Jenkins 部署 Spring Boot
  4. block才会执行 mono_Monogb基本概念及基本操作
  5. treeset java api_JAVAAPI学习值TreeSet类
  6. linux下好用的截图工具,Linux系统下一款比较易用的截图工具
  7. 简述dijkstra算法原理_路径规划算法(1)--Dijkstra和Floyd算法
  8. vue如何编写组件可以通过Vue.use()使用
  9. Jquery实现滚动到底部加载更多(最原始)
  10. java io知识点汇总FIle类