
划分树
文章平均质量分 81
流沙-岁月
这个作者很懒,什么都没留下…
展开
-
hdu 4417
给n个数和m次询问,每次询问给三个数字l ,r , h,要求区间[l,r]中小于等于h的数字个数。 这题可以用离线树状数组或划分树做,先讲一下树状数组。 这里要求区间里有多少个数小于等于某个数,联想用树状数组求逆序数的过程,用类似的方法在lgn的时间内求出结果,即对于每一次询问,计算出所有小于等于h的数出现的次数。具体在于先对题目中的条件做一些处理,以便能够使用树状数组原创 2015-07-25 14:53:18 · 334 阅读 · 0 评论 -
划分树
划分树是一种用线段树作为辅助的数据结构,主要用于在lgn时间内查询区间的第k大数值,其原理是基于快排和归并排序的。 划分树的建树过程可以看做是模拟快排的过程,根节点保存原始数组的信息,同时再另开一个数组保存对原始数组排序好后的信息,然后通过排序好后的数组得到中位数,以中位数为划分依据,将小于中位数的数字划入左孩子,大于中位数的数字划入右孩子,那么等于中位数的数字该如何处理呢?其实既原创 2015-07-24 15:07:33 · 414 阅读 · 0 评论