树状数组
Liukairui
这个作者很懒,什么都没留下…
展开
-
线段树与树状数组学习总结——线段树
线段树什么是线段树先说一下什么是线段树吧 大家都知道,初中课本中对于线的定义:点动成线那么就是说一条线段可以分成若干个点,再想想我们最常用的一维数组,构成数组的是一个个的变量,如果把变量看成一个个点,那么数组就是一条线了! 而线段树,就是一棵由线段构成的二叉树,每个结点都代表一条线段 [a,b](也就是我们前面说的一串变量)。非叶子的结点所对应的线段都有两个子结点,左儿...原创 2018-07-03 16:04:16 · 2699 阅读 · 0 评论 -
线段树与树状数组学习总结——树状数组(一维&二维树状数组的单点&区间的查询&更新&区间最大值维护)
树状数组1.基础内容说一下树状数组,和线段树一样,线段树和树状数组都是为了加快素组的操作效率的,那么,为什么要弄两个数据结构来达到一个目的呢? 所以先说一下线段树与树状数组的区别,线段树的功能强大,而树状数组的速度更快。不过树状数组的时间复杂度也是O(logN)但是树状数组的常数小。 然后我们说一下树状数组的样子。如图: 和线段树非常不同的是是树状数组的空间小,是多大就是...原创 2018-07-04 23:18:55 · 1475 阅读 · 0 评论 -
线段树与树状数组学习总结——数据离散化
数据离散化什么是离散化: 离散化是在程序设计竞赛中是一个非常实用的技巧,它可以通过降低数据的规模来降低算法的时间复杂度。 离散化可以在不改变数据相对大小的条件下,对数据进行相应的缩小。例如: 项目 数据1 数据2 数据3 数据4 数据5 原数据 1 999999 20 5555 100 离散化后的数据 1 5 ...原创 2018-07-05 10:39:30 · 261 阅读 · 0 评论