裸树状数组……不能再裸了……

更改值得时候 别忘了该原数组就可以了

#include <iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<set>
#include<cmath>
#include<climits>
#include<cctype>
#include<cstdlib>
#include<vector>
using namespace std;
typedef long long ll;
const int maxn=200010;
inline int lowbit(int x)
{return x&(-x);
}
ll fen[maxn],a[maxn];
int n;
void add(int x,ll v)
{while(x<=n) {fen[x]+=v;x+=lowbit(x);}
}
ll sum(int x)
{ll ans=0;while(x>0) {ans+=fen[x];x-=lowbit(x);}return ans;
}
int main()
{int x,y,Kase=1;;// freopen("in.txt","r",stdin);// freopen("out.txt","w",stdout);while(~scanf("%d",&n)&&n) {if(Kase!=1) {puts("");}printf("Case %d:\n",Kase++);memset(fen,0,sizeof fen);for(int i = 1; i <= n; ++i) {scanf("%d",&a[i]);add(i,a[i]);}char ch[10];while(scanf("%s",ch)) {if(!strcmp(ch,"END")) break;scanf("%d%d",&x,&y);if(ch[0]=='S') {add(x,y-a[x]);a[x]=y;///!!}else {printf("%lld\n",sum(y)-sum(x-1));}}}return 0;
}

LA2191UVA12086树状数组相关推荐

  1. 洛谷 P5057 [CQOI2006]简单题(树状数组)

    嗯... 题目链接:https://www.luogu.org/problem/P5057 首先发现这道题中只有0和1,所以肯定与二进制有关.然后发现这道题需要支持区间更改和单点查询操作,所以首先想到 ...

  2. Color the ball(HDU1556)树状数组

    每次对区间内气球进行一次染色,求n次操作后后所有气球染色次数. 树状数组,上下区间更新都可以,差别不大. 1.对于[x,y]区间,对第x-1位减1,第y位加1,之后向上统计 #include<b ...

  3. 【BZOJ2434】[NOI2011]阿狸的打字机 AC自动机+DFS序+树状数组

    [BZOJ2434][NOI2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P ...

  4. Codeforces 629D Babaei and Birthday Cake(树状数组优化dp)

    题意: 线段树做法 分析: 因为每次都是在当前位置的前缀区间查询最大值,所以可以直接用树状数组优化.比线段树快了12ms~ 代码: #include<cstdio> #include< ...

  5. poj_3067 树状数组

    题目大意 左右两个竖排,左边竖排有N个点,从上到下依次标记为1,2,...N; 右边竖排有M个点,从上到下依次标记为1,2....M.现在从K条直线分别连接左边一个点和右边一个点,求这K条直线的交点个 ...

  6. hdu 1166 敌兵布阵(树状数组)

    题意:区间和 思路:树状数组 #include<iostream> #include<stdio.h> #include<string.h> using names ...

  7. Equalizing Two Strings 冒泡排序or树状数组

    首先考虑排序后相等 如果排序后相等的话就只考虑reverse长度为2的,所以a或者b排序后存在相邻两个字母相等的话就puts YES,n>26也直接puts YES 不然的话就假设c为a,b排完 ...

  8. Hdu 6534 Chika and Friendly Pairs 莫队算法+树状数组

    题目链接 题意求给区间[L,R]中有少对(i,j)满足i<j且abs(a[i]-a[j])<=k. 首先来说暴力的方法就是离散化,然后用树状数组来维护,但是m次询问,m很大,所以说一定会t ...

  9. HDU - 5877 Weak Pair 2016 ACM/ICPC 大连网络赛 J题 dfs+树状数组+离散化

    题目链接 You are given a rootedrooted tree of NN nodes, labeled from 1 to NN. To the iith node a non-neg ...

最新文章

  1. iOS开发UIlabel篇:iOS 10 3 Label设置的中划线突然失效了
  2. 使用google colab运行RNN网络代码报告错误ValueError: Object arrays cannot be loaded when allow_pickle=False
  3. 以NETSCREEN-50为例,说明防火墙配置步骤
  4. 黑马程序员python笔记_三年Python程序员平时学习笔记总结,对于学习Python非常有帮助...
  5. Educational Codeforces Round 65 (Rated for Div. 2) C. News Distribution
  6. 4位格雷码的顺序编码_整理丨一文掌握编码器的工作原理!
  7. spring jpa查询视图
  8. Atitit 架构师的分类 架构师都有哪些种类? 1. 应用架构师 应用架构师是行业中数量最多的架构师,主要负责公司产品的技术架构。产品架构师需要对业务有足够的理解,根据产品需求设计架构,在运营团
  9. 【2019南昌邀请赛赛网络赛K:】MORE XOR(嵌套异或----打表找规律)
  10. 电子政务网-网络架构
  11. 微信公众号开发-公众号支付
  12. Linux nanomsg tcp sub pub
  13. CUDA Occupancy Calculator中计算占用率
  14. 纳睿雷达IPO过会:拟募资近10亿 包晓军夫妇为加拿大人
  15. startx 命令_通过startx从命令行启动KDE
  16. 黑科技解密!实现socket进程间迁移!
  17. 用python实现相声、评书自动下载(六)
  18. 我国工业软件行业发展现状及未来发展方向的探究
  19. 使用Cobra开发自己的命令行工具
  20. 辉涩笔记004—20200531

热门文章

  1. 计算机释放磁盘空间常用方法,Win10系统释放磁盘空间的五种方法
  2. Vue基础知识总结 12:ES6 promise的用法总结
  3. JTAG、SWD调试原理简析
  4. 【音视频数据数据处理 14】【FLV篇】解析FLV视频码流,并分离FLV中的视频及MP3音频文件
  5. CMake之Option使用简介
  6. textarea标签自适应宽度和高度
  7. 如何使美国服务器安全?
  8. 微信小程序报错图片加载失败渲染层网络层错误Failed to load image
  9. 脏读,不可重复读,幻读区别和避免
  10. 【Java源码分析】String 比较 equals