树形数据结构
文章平均质量分 90
千杯湖底沙.
退役了。
OI就到此为止吧。
呃我又回来了
展开
-
[模版]线段树
线段树线段树是个啥呀线段树是个毛???在前面我只能告诉你又长又骚。线段树的代码,板子题都有将近百行,稍微有点思想的题目估计就要上一百五十行了。然后差错的时候哦查到你心累,这就是线段树……算了还是来点正能量的吧。线段树有着不可比拟的有点,它是可以快捷地对一段数据进行在线维护、查询的数据结构,查询和维护的时间复杂度都是(log2 n)这就很舒服了。基本原理线段树是一种二叉搜索树,它将一个区间放在根结点原创 2017-09-24 20:27:06 · 1301 阅读 · 0 评论 -
树状数组
树状数组 先给一张树状数组的图片吧,有图有真相。 树状数组就长这样↑,因为看上去像一棵树,所以就叫树状数组了。我们用cc数组来存储aa数组的某些内容,从而优化时间复杂度。 如何实现 lowbit 先来了解一个概念lowbitlowbit。从字面意思上理解:就是最低的二进制位。在树状数组中,这个的意思是:把一个整数化成二进制,最低的“1”表示的数是多少。 例如:如果要求low原创 2018-01-05 18:27:58 · 282 阅读 · 0 评论 -
Trie 树
Trie树 Trie树是一个时间换空间的字符串结构。它是一个二十六叉树。它是这样存字符串的: 比如对于一个字符串“abcd”,它先看看根节点相连的点有没有a,那就新开一个点;继续找,看看a相连的点有没有b,重复上述操作…… 然后为了避免一个字符串是另外一个字符串的前缀的问题,我们再在每一个结点上面新开一个域,就是endflag域,代表有一个字符串在这里结束。 HLoj611 Trie树原创 2018-01-07 18:51:38 · 219 阅读 · 0 评论