码迷,mamicode.com
首页 > 其他好文 > 详细

ZKW线段树

时间:2016-10-18 20:29:41      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

 

ZKW线段树

标签:

原文地址:http://www.cnblogs.com/CsOH/p/5974741.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!