树状数组总结
来源:互联网 发布:电脑版电视直播软件 编辑:程序博客网 时间:2024/05/12 09:43
树状数组适合单个元素经常修改而且还反复要求部分的区间的和的情况。
树状数组的所有题线段树都可以写,但相对而言编程效率和程序运行效率更加高
C[]只是一个求和工具 ,每个C[i]最后一个元素都是A[i] , C[i] 中有lowbit[i]个元素,所以C[i] 就是 A[i-lowbit[i]+1]~A[i] 的和
C[]的计算:C[k] = sum(k) – sum(k-lowbit(k))
A[k]的更新:对于所有k之后的lowbit[k]的倍数的元素都要更新
sum[k]的计算:对于所有k之前的lowbit[k]的倍数的元素都要加上
代码如下:
void Modify(int p,int val){while(p<=nNode){C[p]+=val;p+=lowbit[p];}}int QuarySum(int p){int sum=0;while(p>0){sum+=C[p];p-=lowbit[p];}return sum;}
0 0
- 【总结】树状数组总结
- 树状数组总结【全】
- 树状数组总结
- 树状数组总结二
- 树状数组总结
- 树状数组总结
- 树状数组总结篇
- 树状数组总结
- 树状数组总结
- 树状数组习题总结
- 树状数组题目总结
- 树状数组总结
- 树状数组总结
- 树状数组总结
- 树状数组学习总结
- 树状数组总结篇
- 树状数组学习总结
- 树状数组总结
- 谈谈垃圾回收机制及内存管理
- java泛型
- fatal: Not a git repository 的解决办法
- 324. Wiggle Sort II
- 上海庆科EMW3162 AT指令固件 实现串口透传
- 树状数组总结
- 记一次int值返解析为0·
- **MYSQL** 系列五
- 在WordPress主题中使用Font Awesome
- SQL Server恢复数据库解决用户已经存在问题
- android-Notification.Action
- poj 1456 Supermarket 贪心 并查集优化
- APP开发实战117-APP图片优化
- android Binder 学习 博客链接