
树状数组和线段数
paranoidZ
这个作者很懒,什么都没留下…
展开
-
2020 8.7 暑期线段树专题
线段树可以在 n*logn 的时间复杂度内实现单点修改、区间 修改、区间查询(区间求和,求区间最大值,求区间最小值) 等操作。在这里顺便把树状数组附上,树状数组只能区间求和时间复杂度也是n*log ncode:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespa...原创 2020-08-07 15:31:58 · 105 阅读 · 0 评论 -
线段数详解(树状数组运用范围更广)
目录时间复杂度以及适用范围线段数其实就是个二叉树。线段数的储存线段数的函数建立线段数求区间和求区间最大值修改区间中某个元素的值举个例子时间复杂度以及适用范围线段数比树状数组时间复杂度要大,但是应用更广泛,一般用于复杂的区间求和和求最大值,比如求取最大值为题就不能用树状数组,要用线段数。线段数其实就是个二叉树。线段数的储存用结构体存...原创 2020-03-17 22:19:34 · 1123 阅读 · 1 评论 -
数状数组和线段数
树状数组设为e[n],原数组设为a[n]树状数组主要有俩个功能:1,查找 (求区间的前缀和)2,修改、查找:输入x ,求a[1]+a[2]+........a[n] 时间复杂度为O(log n)修改:输入修改的位置x,a[x]需要增加的值val,这个过程本来是直接对原数组进行修改,时间复杂度为O(1),但是这样不利于之后的查找操作,所以要在树状数组中进行...原创 2020-02-04 21:13:35 · 340 阅读 · 0 评论