首页 新闻 搜索 专区 学院

树套树之树状数组套主席树

0
悬赏园豆:5 [待解决问题]

  树状数组套主席树比套线段树内存少。可是感觉怎么弄内存还是很大啊?如果是一个带动态修改的区间第k大数查询,按照树状数组下标对应的查询范围定义每个节点上的线段树的范围(即i-lowbit(i)+1......i),那么真正可以合并节省的内存没多少啊。怎么减少内存呢?

  以[1,8]为例,root[1]=[1,1],root[2]=[1,2],root[3]=[3,3],root[4]=[1,4]......root[7]=[7,7],root[8]=[1,8]。部分树节点相同即可以合并的只有:0(空)、1、2,0、5、6。即二进制末两位不为00的可以合并。这么算内存估计为(n/4)*(nlogn),超过了n^2!怎么办?

voyage~st~Imagine的主页 voyage~st~Imagine | 初学一级 | 园豆:197
提问于:2017-07-21 18:35
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册