【模板】树状数组1
来源:互联网 发布:吊眼角的女人面相 知乎 编辑:程序博客网 时间:2024/06/15 06:21
- 基本介绍
- 模板题目
- 代码实现
基本介绍
这篇是树状数组模板1 主要内容有:
1.将某数加上x
2.求某区间和
也就是说支持单点修改
关于树状数组的博客讲解
模板题目
见基本介绍
代码实现
#include<iostream>#include<cstdio>#include<cctype> using namespace std; #define in = read() typedef long long ll; const ll size = 1000000 + 100; ll n,m,x,y,z; ll a[size],c[size];inline ll read(){ ll num = 0 , f = 1; char ch = getchar(); while(!isdigit(ch)){ if(ch == '-') f = -1; ch = getchar(); } while(isdigit(ch)){ num = num*10 + ch - '0'; ch = getchar(); } return num*f;}inline ll lowbit(ll x){ return x&-x;}inline ll sum(ll x){ ll ans = 0; while(x){ ans += c[x]; x -= lowbit(x); } return ans;;}inline void add(ll x,ll y){ while(x <= n){ c[x] += y; x += lowbit(x); }}int main(){ n in; m in; for(int i=1;i<=n;i++){ a[i] in; add(i,a[i]); } for(int i=1;i<=m;i++){ z in; x in; y in; if(z == 1) add(x,y); if(z == 2) printf("%d\n",sum(y) - sum(x - 1)); }}//COYG
阅读全文
0 0
- 【模板】树状数组 1
- 【模板】树状数组1
- P3374 【模板】树状数组 1
- c++树状数组1模板
- 树状数组,洛谷P3374 【模板】树状数组 1
- 树状数组——【模板】树状数组1
- 洛谷 P3374 【模板】树状数组 1
- 洛谷 P3374【模板】树状数组 1
- 洛谷P3374 [模板]树状数组1
- 洛谷P3374 【模板】树状数组 1
- 【洛谷】 P3374 【模板】树状数组 1
- 洛谷 P3374 【模板】树状数组 1
- 树状数组【模板】
- 树状数组模板
- 树状数组 模板
- 树状数组模板
- 树状数组模板
- 树状数组-模板
- Java 设计模式
- python3 为类动态添加静态(类)方法 类名.方法名=方法名
- Scala 高阶函数
- mysql 基准测试-01
- win系统上安装VMware,设置为同一个局域网
- 【模板】树状数组1
- Java 静态导入
- hdu 5074 dp
- phar文件解压还原
- 推荐一本我最近正在阅读的一本新书《Spring Boot实战》
- 【Json】时间格式转换
- POJ2586Y2K Accounting Bug
- pandas 初探
- WAV音频MFCC参数提取 + DTW语音识别算法 C++代码实现