博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZKW线段树
阅读量:5151 次
发布时间:2019-06-13

本文共 307 字,大约阅读时间需要 1 分钟。

  对于区间问题,我们常用的方法是线段树。递归式的线段树具有通用性,但速度太慢。ZKW神犇使用非递归的线段树,常数特别小。

  与大部分线段树一样,ZKW线段树采用堆式存储。也就是说,x节点的左儿子是x*2,右儿子是x*2+1,父亲是x/2。

  由于采用非递归,我们要方便地找到叶子节点。ZKW线段树的方法是,从小到大枚举叶子节点数,直到线段树装得下。比如建立1000个节点,他从1开始枚举,2,4,8,16,……1024。发现1024足够大时,将[1, 1024)作为非叶节点,[1024, 2048)为叶子节点。

 

转载于:https://www.cnblogs.com/CsOH/p/5974741.html

你可能感兴趣的文章
4.8日学习打卡
查看>>
在linux中文件的权限讲解
查看>>
(最小生成树)Constructing Roads -- poj -- 2421
查看>>
css3画半圆
查看>>
模拟题1
查看>>
linux shell 流程控制
查看>>
python中列表,元组,字典常用操作方法的总结
查看>>
分页查询
查看>>
[转] java.lang.IllegalArgumentException: Document base D:\apache-tomcat-7.0.47\webapps\XXX错误
查看>>
k8s prometheus+grafana 监控
查看>>
代码细节重构:请对我的代码指手划脚(二)
查看>>
TJU1004
查看>>
Java关于数组对象赋值与指针
查看>>
ubuntu14.04 red5
查看>>
洛谷—— P1204 [USACO1.2]挤牛奶Milking Cows
查看>>
2012-11-05 IE下模拟css3中的box-shadow(阴影)
查看>>
android service broadcastreceiver intentfilter
查看>>
【转】MySQL数据类型
查看>>
restful
查看>>
登录注册代码
查看>>