![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
文章平均质量分 74
牛郎恋刘娘,刘娘念牛郎
裂开来
展开
-
区间操作
由树状数组的知识引申来的什么是树组呢 我也不说了 根据lowbit写出来的一个关系如图有时候在对[l,r]一个区间操作的时候很容易t例如对[l,r]区间都加上k ,如果for循环跑一边 复杂度有点高现在的话我们引入差分数组1.定义:对于已知有n个元素的数列d,我们可以建立记录它每项与前一项差值的差分数组f:显然,f[1]=d[1]-0=d[1];对于整数i∈[2,n],我们让f[i]=d[i]-d[i-1]。2.简单性质:计算数列各项的值:观察d[2]=f[1]+f[2]=d原创 2021-03-15 21:59:07 · 808 阅读 · 1 评论 -
树状数组例题
A 单点修改,区间查询A. 单点修改,区间查询 [ Discussion ]Description给定数列a[1],a[2],…,a[n],你需要依次进行 q个操作,操作有两类:1 i x:给定i,x,将a[i]加上x;2 l r:给定l,r,求 ∑ri=la[i]的值(换言之,求a[l]+a[l+1]+⋯+a[r]的值)Input第一行包含2个正整数n,q,表示数列长度个数,保证a≤n,q≤106第二行n个整数a[1],a[2],…,a[n],表示初始数列,保证|a[i]|≤106接下原创 2021-02-02 17:27:29 · 228 阅读 · 0 评论