线段树入门之夜空星亮
--------------------------------------------不是能不能办到的问题,既然我已经下定决心要成为海贼王了,如果因此而战死的话,也无所谓了。
承接上一章节,继续探索线段树丫!
如何利用线段树进行区间统计?
假设这13个数为1,2,3,4,1,2,3,4,1,2,3,4,1. (A[1]=1,A[2]=2,......A[13]=1)在区间之后标上该区间的数字之和:
嘻嘻,下面介绍另一个问题:
如何进行点修改?
以上一个图为讨论的基础:
假设把A[6]+=7 ,看看哪些区间需要修改?[6],[5,6],[5,7],[1,7],[1,13]这些区间全部都需要+7.其余所有区间都不用动。
于是,这颗线段树中,点修改最多修改5个线段树元素(每层一个)。
下图中,修改后的元素用蓝色表示。
一身转战三千里,且去追寻线段树的存储结构:
所以线段树需要的空间是n的两倍到四倍之间的某个数,一般就开4*n的空间就好,如果空间不够,可以自己算好最大值来省点空间。
转载于:https://www.cnblogs.com/dragondragon/p/11241773.html
线段树入门之夜空星亮相关推荐
- szu 寒训个人复习第一天 线段树入门单点修改,区间修改,以及线段树的扩展运用[线段树+dp][区间最大公约数]
寒讯内容有点过多(其实是我太菜了)水一波怕忘了(人老了)**什么是线段树** 线段树是本蒟蒻感觉用处特别大的算法 那么线段树上面的节点表示什么意思呢? 线段树,上面的节点表示一个区间,父亲节点表示的区 ...
- poj1195 Mobile phones 二维线段树入门
二维线段树就是树套树,线段树套线段树... #include<iostream> #include<cstdio> #include<cstring> #inclu ...
- hdu1166敌兵布阵hdu1754I Hate It(线段树入门)
单点更新是最最基础的线段树,只更新叶子节点,然后把信息用pushup这个函数更新上来. http://acm.hdu.edu.cn/showproblem.php?pid=1166 update单点更 ...
- 数据结构之线段树入门(单点更新区间查询)
线段树是学习数据结构必须学习的一种数据结构,在ACM,蓝桥等比赛中是经常出现的.利用线段树解题,会使得题目简单易理解.而且线段树是数据结构中比较基础而且用的很多的一种. 线段树定义 线段树是一种二叉搜 ...
- 线段树入门 (zz)
从简单说起,线段树其实可以理解成一种特殊的二叉树.但是这种二叉树较为平衡,和静态二叉树一样,都是提前已经建立好的树形结构.针对性强,所以效率要高.这里又想到了一句题外话:动态和静态的差别.动态结构较为 ...
- 树状数组及线段树入门(SDNU1665-1668)
目录 前言 树状数组 先导 单点修改区间查询 区间修改区间查询 线段树 先导 单点修改区间查询--递归形式 单点修改区间查询--非递归形式 区间修改区间查询--递归形式 区间修改区间查询--非递归形式 ...
- POJ——3624 Balanced Lineup(线段树入门——区间最值问题)
原题链接:http://poj.org/problem?id=3264 每天挤奶时,农夫John的N头奶牛(1≤N≤50,000头)总是按照相同的顺序排列.一天,农夫约翰决定和几头牛组织一场极限飞盘游 ...
- I Hate It(线段树入门)
线段树(不包含区间更新) 线段树是一棵二叉树,树中的每一个结点表示了一个区间[a,b].每一个叶子节点表示了一个单位区间.对于每一个非叶结点所表示的结点[a,b],编号为x,其左儿子表示的区间为[a, ...
- 【HDU1698】 Just a Hook 【线段树入门】
原题:原题链接 题意:(机器翻译的...) 让我们将钩子的连续金属棒从1到N编号.对于每次操作,Pudge可以将连续的金属棒(从X到Y编号)改为铜棒,银棒或金棒. 钩的总值计算为N个金属棒的值的总和. ...
最新文章
- 1命名规则 sentinel_Spring Cloud Alibaba 整合 Sentinel 流控
- 现代密码学3.3--伪随机生成器/PRG
- PMCAFF|来来来!我们一起重新设计微信公众号(图多杀猫 慎重浏览)
- python学习过程中随手写的测试脚本-testloop.py
- docker:安装mysql多个
- 果汁飞溅海报还不会玩?先从临摹学习PSD分层模板开始
- 【Hisi系列】之软件平台开发(MPP相关)
- mysql neatbean_使用MySQL的NetBeans中的SQL语法错误
- wpl计算方法_用于计算加权路径长度(WPL)的C ++二叉树算法
- Microsoft Visual SourceSafe 2005 简体中文版
- LR杂记--Loadrunner分析系统资源
- Nand2Tetris Project1
- 万物Linux皆可刷安卓,万物皆可Win,开发者成功在安卓手机刷入Win10系统
- [计算机组成原理]-32/64位、寻址能力
- 物理仿真实验运用计算机什么用,电脑模拟与物理实验教学
- ONNX Runtime: ubutnu16.04编译 (编到怀疑人生)
- PS不能完成命令,因为没有足够内存(RAM)
- [原创插件] [服务端插件] [新手开发者必看]优秀插件开发教程列表 欢迎回复讨论
- MIT molecular Biology 笔记10 翻译
- Java基础程序——Set集合排序(四种写法)
热门文章
- 树莓派自定义游戏,Minecraft硬件编程,建造房屋,我的世界还可以这样玩
- 服务器无法取消指令方块显示,我的世界服务器如何关掉命令方块的提示(如图)...
- 求图像边界点坐标c语言,三、Windows图像处理—画点和线(边框函数)
- 第五章 多变量线性回归
- SSL-ZYC NOIP
- 自我提升的10个好习惯
- 【​观察】 娃娃也能编程?微软“编程一小时”让你家娃也能变身编程达人
- openeuler 21.3 : 使用LVM管理硬盘
- 最优化问题的Matlab优化工具箱求解总结
- 荣耀X30 Max参数配置