博客
关于我
洛谷 P3374 【模板】树状数组 1
阅读量:339 次
发布时间:2019-03-04

本文共 664 字,大约阅读时间需要 2 分钟。

吼吼吼

今天学习了树状数组

前一段时间没有认真看别人的讲解,
所以一直觉得很难,
今天仔细学了学,发现好像没那么难呢!


习题抽空做


想学习树状数组的同学可以在洛谷此题第一篇题解上学习,非常容易理解()

不多说,上模板!

#include
#include
using namespace std;int n,m,a,w,x,y;int tree[5000010]; int lowbit(int x) //去掉从右往左数第一个1{ return x&-x;}void add(int i,int k) //单点修改{ while(i<=n) { tree[i]+=k; i+=lowbit(i); }}int sum(int x) //区间求和{ int ans=0; while(x!=0) { ans+=tree[x]; x-=lowbit(x); } return ans;}int main(){ cin>>n>>m; for(int i=1; i<=n; i++) { scanf("%d",&a); add(i,a); } for(int i=1; i<=m; i++) { scanf("%d%d%d",&w,&x,&y); if(w==1) add(x,y); else if(w==2) cout<
<

转载地址:http://fnle.baihongyu.com/

你可能感兴趣的文章
JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
查看>>
Oracle常用SQL
查看>>
技术美术面试问题整理
查看>>
C++学习记录 五、C++提高编程(2)
查看>>
4 Java 访问控制符号的范围
查看>>
VUE3(八)setup与ref函数
查看>>
智能合约开发实践(1)
查看>>
CMake自学记录,看完保证你知道CMake怎么玩!!!
查看>>
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
查看>>
牛客练习赛56 D 小翔和泰拉瑞亚(线段树)
查看>>
Codeforces Round #614 (Div. 2) B - JOE is on TV! (简单贪心)
查看>>
Codeforces Round #305 (Div. 1) B. Mike and Feet(单调栈)
查看>>
MySQL隐藏文件.mysql_history风险
查看>>
js求阶乘
查看>>
L1-009 N个数求和 (20 分)
查看>>
L2-031 深入虎穴 (25 分)
查看>>
Unity之PlayerPrefs
查看>>
简单的xml读取存储方法(未优化)
查看>>
Making the grade 和Sonya and Problem Wihtout a Legend
查看>>
Nginx---惊群
查看>>