模式二(区间更新,单点查询)
来源:互联网 发布:蚂蚁信息源码 编辑:程序博客网 时间:2024/06/08 04:50
用树状数组实现模式二,借助了编程技巧。此时的区间更新,其实是在两个位置进行了单点更新。而单点查询,实际上是进行了区间求和操作。
输入的原数组a[], 树状数组c[],单点更新函数update(i,val),区间查询函数query(i)
如,将[x,y]内的数都加1,查询区间内某位置z的值,代码可以有两种写法。
1.update(x-1,-1);
update(y,1);//两处单点更新
query(z);//采用向上求和
2.update(x,1);
update(y+1,-1);//两处单点更新
query(z);//采用向下求和
两种写法的实质相同,我们所要的值是query(z),也就是将一段区间的c[]值求和,这段区间以c[z]为端点。
阅读全文
0 0
- 模式二(区间更新,单点查询)
- spoj375 树链剖分(单点更新,区间查询)
- LightOj1080Binary Simulation(区间更新单点查询)
- Flowers(树状数组+区间更新+单点查询+区间更新单点查询模板)
- 线段数 (区间更新 区间查询 单点更新 单点查询) 模板
- hdu4031 区间更新,单点查询
- <模板>区间更新,单点查询
- nyoj116 士兵杀敌(二)(线段树的区间查询和单点更新)
- 线段树(堆式)[单点更新, 区间查询]
- HDOJ3016Man Down(线段树(区间更新,单点查询)+DP)
- HDU1754线段树单点更新区间查询(数组版)
- Necklace (线段树单点更新+区间查询+离线操作)
- hdu 4046 Panda (线段树 单点更新 区间查询)
- Flipping Parentheses (线段树 单点更新 区间查询)
- 线段树(一)单点更新,区间查询
- hdu5239 Doom(线段树单点更新区间查询+数论)
- HDU1166 敌兵布阵(线段树 单点更新 区间查询)
- hdu 4533(树状数组区间更新+单点查询)
- Gemini Blueprint参考文档 第10章 与bundle一起工作
- 图的存储结构之邻接表(详解)
- UVALive 7902 后缀自动机
- Unity Time类简介及应用
- linux 下关于任务的命令
- 模式二(区间更新,单点查询)
- Qt————学习记录(四)
- 【逻辑推理系列】海盗分金模型分析
- 冒泡排序
- python中反射4种方法的基本使用
- Java排序算法以及算法改进总结(冒泡、选择、插入、归并、快速排序)
- 折半查找插入排序
- 作业 10_01
- 调用系统相机拍照 并保存进SD卡