树状数组
来源:互联网 发布:直播笑声软件下载 编辑:程序博客网 时间:2024/06/05 05:50
1.改点(+/-)求区间
void add(int x,int v){for(;x<=n;x+=x&(-x))C[x]+=v;}void sub(int x,int v){for(;x<=n;x+=x&(-x))C[x]-=v;}int getsum(int x)//求1-x的和{int sum=0;for(;x>0;x-=x&(-x))sum+=C[x];return sum;}
2.求比某点x小的点的个数
对于x,求getsum(x),再加入x:add(x,1);
同理可求逆序(倒着插),求平面上在点A左下方的点的个数
3.改区间求点
令del[i]表示i..MN段被加了多少。则区间修改[a,b]时,我们让del[a]++,del[b+1]--即可。(此时树状数组是建立在del数组基础上的)这个时候,要求某一个位置x的数的值时,用Getsum(x)来表示。
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 树状数组
- 线程实例的应用
- 数据结构与算法分析学习笔记三-循环队列C语言实现
- Dell笔记本电脑INSPIRON系列如何取消Caps Lock大小写切换时延迟
- 生成树STP配置 ------冗余的备份链路被自动激活
- 在VC++项目中使用.Net库,经过简单转换,可以直接使用C#代码
- 树状数组
- 软件工程之文档标准
- database quiesce and database suspend
- STC
- 6.判断整数序列是不是二元查找树的后序遍历结果
- Nutch-2.2.1学习之二编译部署Nutch及常见问题
- (work and tools)最简易的vim环境搭建
- 实例解析linux内核I2C体系结构(1)
- 出自上帝之手的精妙算法 - Algorithm from THE BOOK (2)