线段树为什么要开四倍空间
转自: http://scinart.github.io/acm/2014/03/19/acm-segment-tree-space-analysis/
最近在看《具体数学》,这篇当做是一个练习吧。
假设我们用一个数组来头轻脚重地存储一个线段树,根节点是1,孩子节点分别是2n, 2n+1, 那么,设线段长为L(即[1..L+1))
设树的高度为H,对H,有:
这是一个很简单的递归式,并用公式3.11逐次代换,就等到
所以
所以显然所需空间为
线段树为什么要开四倍空间相关推荐
- 线段树为什么要开4倍空间
问题1: 线段树空间只需要2*n即可??? 对于这种建图方式,建出来的并不是完全二叉树,而是具有完全二叉树性质(父节点为x,则左儿子为2x,右儿子为2x+1),好处:可以省掉许多并不需要的节点.由于具 ...
- 线段树为什么要开四倍区间大小的数组
我的想法是,不能理解它,那就记住它!! 但是这里有大佬的想法,欢迎参观:https://blog.csdn.net/smoggyxhdz/article/details/78895672
- 线段树 4n 开四倍空间的原因
线段树 4n 一.为何要使用线段树? 对于某一类问题,我们主要关注的是一个线段或者区间.对于给定区间,更新区间中一个元素或者一个区间的值,查询一个区间[i,j]的最大值.最小值,或者区间数字和. 线段 ...
- BZOJ.4553.[HEOI2016TJOI2016]序列(DP 树状数组套线段树/二维线段树(MLE) 动态开点)
题目链接:BZOJ 洛谷 \(O(n^2)\)DP很好写,对于当前的i从之前满足条件的j中选一个最大值,\(dp[i]=d[j]+1\) for(int j=1; j<i; ++j)if(a[j ...
- 【BZOJ】3339: Rmq Problem 3585: mex(线段树+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=3585 好神的题. 但是!!!!!!!!!!!!!!我线段树现在要开8倍空间才能过!!!!!!!!!! ...
- cf914D. Bash and a Tough Math Puzzle(线段树)
题意 题目链接 Sol 直接在线段树上二分 当左右儿子中的一个不是\(x\)的倍数就继续递归 由于最多递归到一个叶子节点,所以复杂度是对的 开始时在纠结如果一段区间全是\(x\)的两倍是不是需要特判, ...
- AcWing 蓝桥杯AB组辅导课 05、树状数组与线段树
文章目录 前言 一.树状数组 1.1.树状数组知识点 1.2.树状数组代码模板 模板题:AcWing 1264. 动态求连续区间和 例题 例题1.AcWing 1265. 数星星[中等,信息学奥赛一本 ...
- 洛谷[P3374] [P3368]树状数组(线段树解法)
最近学习了线段树,不会树状数组,用线段树舔着脸来做一下 P3374树状数组1https://www.luogu.com.cn/problem/P3374 ac代码 #include<bits/s ...
- b+树时间复杂度_前端大神用的学习笔记:线段树和树状数组
全文篇幅较长,细心理解一定会有收获的♪(^∇^*). 1|0线段树 1|1一些概念 线段树是一种二叉搜索树,每一个结点都是一个区间(也可以叫作线段,可以有单点的叶子结点),有一张比较形象的图如 ...
最新文章
- 1024 Palindromic Number
- STM32的抢占优先级和响应优先级
- Java中的Split方法不适用于一个句号
- 贫血模型,充血模型(领域驱动设计)
- rust(66)-rust智能指针与类型转换
- php post 500 ajax,php – Laravel 5:Ajax Post 500(内部服务器错误)
- 异常处理---SpringMVC学习笔记(十)
- java 图片上传 预览 demo_图片上传预览
- python 中 yield 的使用
- Flink 1.12 资源管理新特性回顾
- java 信号量Semaphore
- 计算两个经纬度的距离_HTML5 地理定位+地图 API:计算用户到商家的距离
- IT經理出招 電腦耗電減少
- java界面怎么加图片不显示不出来_Java登录界面中添加背景图片,程序无错,但加载不了图片,求帮忙...
- SQL Server实际执行计划COST欺骗案例
- python网络爬虫课程设计报告摘要_课程设计 Python 网络爬虫(广度优先方法)
- 2020中兴捧月-傅里叶-丰收祭赛题常规解法
- Linux救援(rescue)模式知识点
- 短网址还原 php,php怎么实现短网址还原
- [EMNLP 2022] VIRT: Improving Representation-based Text Matching via Virtual Interaction