随笔分类 -  数据结构——可持久化数据结构

摘要:首先,我们从 u -> v 有一个明显的贪心,即能向上跳的时候尽量向深度最浅的节点跳。这个我们可以用树上倍增来维护。我们可以认为 u 贪心向上跳后不超过 lca 能跳到 u' 的位置, v 跳到 v' 的位置,这时只需要查询一下是否有 u' -> v' 的直达公交线路就可以确定出答案了。 如果 u 阅读全文
posted @ 2018-11-03 00:07 Twilight_Sx 阅读(261) 评论(0) 推荐(0)
摘要:好几天之前做的题目了,一直想写一下博客也没腾出时间来,今天赶紧把坑给填上呼呼呼~ 这道题首先如果只考虑每个商店中没有时间限制的物品时,我们只需要使用一棵可持久化trie树来维护区间内的异或最大值即可,这样我们可以把两部分的问题分离开来。 之后我们再考虑有时间限制与编号限制的情况下,该怎样做?无脑做法 阅读全文
posted @ 2018-10-21 23:15 Twilight_Sx 阅读(294) 评论(0) 推荐(0)
摘要:学习了一下可持久化trie的有关姿势~其实还挺好理解的,代码也短小精悍。重点在于查询某个历史版本的trie树上的某条边是否存在,同样我们转化到维护前缀和来实现。同可持久化线段树一样,我们为了节省空间继承上一节点未修改的信息,修改的信息我们则新建一条链。节点上我们维护从最初的版本到当前版本这条路径一共 阅读全文
posted @ 2018-10-12 22:14 Twilight_Sx 阅读(272) 评论(0) 推荐(0)
摘要:主席树,操作上面基本上是一样的。每一个时间节点一棵树,一个树上的每个节点代表一个优先级的节点。把开始和结束时间点离散,在每一棵树上进行修改。注意因为一个时间节点可能会有多个修改,但我们要保证都在同一棵树上,所以我采取了让每个节点额外存储所属于的树的一个信息。当更新到一个节点的时候,如果属于建立好的新 阅读全文
posted @ 2018-03-07 22:29 Twilight_Sx 阅读(199) 评论(0) 推荐(0)