模板1

#include<iostream>
#include<cstdio>
using namespace std; int n, m, c[500010]; inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9') { if(ch=='-')w=-1; ch=getchar(); }
while(ch>='0'&&ch<='9') { s=s*10+ch-'0'; ch=getchar(); }
return s*w;
} void update(int x, int y){ for(; x<=n; x+=x&-x) c[x]+=y; } int sum(int x){
int ans=0;
for(; x; x-=x&-x) ans+=c[x];
return ans;
} int main(){
n=read(), m=read();
for(int i=1, t; i<=n; i++) t=read(), update(i, t);
for(int i=1, k, x, y; i<=m; i++)
{
k=read(), x=read(), y=read();
if(k==1) update(x, y);
else printf("%d\n", sum(y)-sum(x-1));
}
return 0;
}

模板2

#include<iostream>
#include<cstdio>
using namespace std;
int N, M, C[500010], A[500010];
inline int read()
{
int s=0, w=1;
char ch=getchar();
while(ch<'0' || ch>'9'){ if(ch=='-') w=-1; ch=getchar();}
while(ch>='0'&&ch<='9'){ s=s*10+ch-'0'; ch=getchar();}
return s*w;
} void update(int x, int y){ for(; x<=N; x+=x&-x) C[x]+=y; }
int sum(int x)
{
int ans=0;
for(; x; x-=x&-x) ans+=C[x];
return ans;
} int main(){
N=read(), M=read();
for(int i=1; i<=N; i++)
{
int t=read();
A[i]=t;
update(i, t-A[i-1]);
}
for(int i=1; i<=M; i++)
{
int t=read();
if(t==1)
{
int x, y, k;
x=read(), y=read(), k=read();
update(x, k);
update(y+1, -k);
}else
{
int x=read();
printf("%d\n", sum(x));
}
}
return 0;
}

树状数组BIT的更多相关文章

  1. BZOJ 1103: [POI2007]大都市meg [DFS序 树状数组]

    1103: [POI2007]大都市meg Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2221  Solved: 1179[Submit][Sta ...

  2. bzoj1878--离线+树状数组

    这题在线做很麻烦,所以我们选择离线. 首先预处理出数组next[i]表示i这个位置的颜色下一次出现的位置. 然后对与每种颜色第一次出现的位置x,将a[x]++. 将每个询问按左端点排序,再从左往右扫, ...

  3. codeforces 597C C. Subsequences(dp+树状数组)

    题目链接: C. Subsequences time limit per test 1 second memory limit per test 256 megabytes input standar ...

  4. BZOJ 2434: [Noi2011]阿狸的打字机 [AC自动机 Fail树 树状数组 DFS序]

    2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 2545  Solved: 1419[Submit][Sta ...

  5. BZOJ 3529: [Sdoi2014]数表 [莫比乌斯反演 树状数组]

    3529: [Sdoi2014]数表 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1399  Solved: 694[Submit][Status] ...

  6. BZOJ 3289: Mato的文件管理[莫队算法 树状数组]

    3289: Mato的文件管理 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 2399  Solved: 988[Submit][Status][Di ...

  7. 【Codeforces163E】e-Government AC自动机fail树 + DFS序 + 树状数组

    E. e-Government time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...

  8. 【BZOJ-3881】Divljak AC自动机fail树 + 树链剖分+ 树状数组 + DFS序

    3881: [Coci2015]Divljak Time Limit: 20 Sec  Memory Limit: 768 MBSubmit: 508  Solved: 158[Submit][Sta ...

  9. 树形DP+DFS序+树状数组 HDOJ 5293 Tree chain problem(树链问题)

    题目链接 题意: 有n个点的一棵树.其中树上有m条已知的链,每条链有一个权值.从中选出任意个不相交的链使得链的权值和最大. 思路: 树形DP.设dp[i]表示i的子树下的最优权值和,sum[i]表示不 ...

  10. bzoj2743离线+树状数组

    奇葩染色,对于每一个点关心的是前前个同颜色的位置,但是处理方法相同 离线比较神奇,按照右端点排序,然后每次用的是左端点,就不用建可持久化树状数组(什么鬼)了 区间修改+单点查询 果断差分以后用树状数组 ...

随机推荐

  1. SQL Server 数据库状态选项-用户使用

    选项 1. single_user(单用户),multi_user(多用户),restricted_user(受限用户); 描述数据库的用户访问属性,它们互斥,设置其中任何一个选项就会取消对其它选项的 ...

  2. LinuxCPU性能监控工具---mpstat

    mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPU系统里,其不但能查看所有 ...

  3. LeetCode算法题-Employee Importance(Java实现)

    这是悦乐书的第291次更新,第309篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第159题(顺位题号是690).定义员工信息的数据结构,其中包括员工的唯一ID,他的重要 ...

  4. June. 23rd 2018, Week 25th. Saturday

    We are who we choose to be. 要成为怎样的人,选择在于自己. From Barry Manilow. I believe that we are who we choose ...

  5. Spring Security(三十四):10.4 Jackson Support

    Spring Security has added Jackson Support for persisting Spring Security related classes. This can i ...

  6. 将List按照指定大小等分的几种实现方式和效率对比及优化

    今天碰到一个需求,定时任务,批量从表里取数据并做一些其他操作然后再存表,每次取1000条,由于计算过程比较耗时所以要起多个线程同时跑,需要将List按照指定大小等分,如每100条数据起一个线程,若最后 ...

  7. 迷茫<第三篇:再到北京>

    这是2016年初春,三月的北京仍带着丝丝的冷意,我再次来到了这座熟悉又陌生的城市.我是早上6点钟到的北京西站,坐火车过来的,一夜未眠,眼睛很疲劳.这次过来和上次回长沙一样,下了火车先把行李寄存在朋友家 ...

  8. 在Bootstrap开发框架中使用dataTable直接录入表格行数据(2)--- 控件数据源绑定

    在前面随笔<在Bootstrap开发框架中使用dataTable直接录入表格行数据>中介绍了在Web页面中使用Jquery DataTable插件进行对数据直接录入操作,这种处理能够给用户 ...

  9. Entity Framework Core系列之DbContext(添加)

    上一篇我们介绍了Entity Framework Core系列之DbContext,对DbContext有了概念上的了解,这篇将介绍DbContext添加数据 通过DbContext添加实体的主要方法 ...

  10. mybatis 使用auto mapping原理实现表间关联

    Auto mapping的示例 数据库中有一个person表,结构如下: mysql> desc person; +-------+-------------+------+-----+---- ...