![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
文章平均质量分 67
lpls1
这个作者很懒,什么都没留下…
展开
-
分桶法和平方分割
//超时= = public class Main { public static void main(String args[]) throws IOException { PrintWriter out=new PrintWriter(System.out); InputReader sc=new InputReader(System.in); int maxn=...原创 2019-11-30 14:55:45 · 162 阅读 · 0 评论 -
求区间第k大之——归并树(poj2104)
归并树与线段树的区别是,线段树的结点维护一个值,而归并树的结点维护一个有序数组。每个节点的数列是其两个儿子节点的数列合并后的结果。这颗线段树正是归并排序的完整再现。 要计算在某个区间上不大于x的数的个数,只需: 如果所给区间与当前区间没有交集,返回0 如果所给区间完全包含当前区间,使用二分搜索找出当前区间的不大于x的数的下标再加1,返回这个值 否则对两个儿子递归地进行计算之后返回他们的和。 由...原创 2019-11-30 14:48:31 · 219 阅读 · 0 评论 -
线段树(java)
1.相关时间复杂度: 因为总结点个数为2n,因此: 初始化:O(n) 因为不论哪种操作,对于每个深度都最多访问常数个结点,因此: 每次更新:O(logn) 每次求值:O(logn) 2.线段树结构: 线段树结点下标和元素范围下标均从0记。那么: 每个结点存着[l,r)范围内的值。 第0个结点维护[0,n)范围的值。 下标为k的元素的值对应线段树结点下标为n-1+k。 每个结点k的左右叶子结点下标分...原创 2019-10-15 20:01:49 · 138 阅读 · 1 评论