摘要: 可持久化线段树又名主席树,是“可持久化”的线段树 (废话) 它能干什么呢? 我们来看这样一道题:【模板】可持久化线段树 题目要求我们支持两种操作,修改历史版本和查询历史版本。 我们可以很轻松地想到一个显然的做法:对每个历史版本开一棵线段树并且储存下来。 OK,这就是可持久化线段树了... 吗? 当然 阅读全文
posted @ 2019-10-28 22:33 LightHouseOfficial 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 不了解线段树的朋友可以看看我上一篇博客: [线段树系列] 普通线段树 补充一个上一篇漏了的点:线段树要开4倍空间。 然而面对庞大的数据我们开maxn<<2的空间是肯定开不下的。 这时候就要用到动态开点线段树来节省空间了。( 或者离散化 ) 动态开点线段树大概长这样( 又是随手画的一个图 ): 理解一 阅读全文
posted @ 2019-10-28 22:31 LightHouseOfficial 阅读(6619) 评论(1) 推荐(25) 编辑
摘要: 线段树是一种强大的数据结构,用于维护区间、图、树等各种数据。 线段树的“强大”体现在它面对各种类型的数据都有应付的方式,而且不断有“改进”版线段树的产生。 线段树是基于递归和分治思想的数据结构,一般用于维护具有“区间可加性”的数据。 什么是”区间可加性“呢,举几个例子: 区间和,区间最大最小值,区间 阅读全文
posted @ 2019-10-28 20:33 LightHouseOfficial 阅读(777) 评论(2) 推荐(5) 编辑