树状数组
来源:互联网 发布:万销淘宝店铺装修工具 编辑:程序博客网 时间:2024/06/02 00:55
在学习逆序数计算的时候,看到了用树状数组来计算,树状数组是一种数据结构,和并查集的概念类似。
定义完一个数组后,再定义三个函数操作,从而变成树状数组。使得 一个数组改变某个元素和求和两种操作都是O(logn)
http://www.cppblog.com/Ylemzy/articles/98322.html
//求最小幂2^k: int Lowbit(int t){ return t & ( t ^ ( t - 1 ) );} //求前n项和:int Sum(int end){ int sum = 0; while(end > 0) { sum += in[end]; end -= Lowbit(end); } return sum;} // 对某个元素进行加法操作: void plus(int pos , int num){ while(pos <= n) { in[pos] += num; pos += Lowbit(pos); }}
阅读全文
0 0
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 制作一封复杂的邮件(包括附件、回信地址),并写到文件中
- 看完让你彻底搞懂Websocket原理
- Spring4笔记--AOP
- I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum o
- MyBatis学习总结——Mybatis3.x与Spring4.x整合
- 树状数组
- microsoft net framework 4.0干什么用的
- log4j的日志配置,按照不同包产生不同的日志文件
- 复数类
- java常用的设计模式
- Domain=NSURLErrorDomain Code=-1005 "未能完成操作。
- Qt TCP客户端无法连接服务器
- VimH,J,K,L的由来
- 网页打印(不使用插件的情况下)