可持久化数据结构1
非持久化数据结构一般需要维护数据集最新状态,而可持久化要求查询历史状态。
可持久化Trie树
朴素:每次修改重新存一遍
正解:只存被修改部分,其余不变,即第
增长同规模。
用普通线段树维护,
可持久化线段树
例:单点修改,查询区间最大值
将
修改时,对所有会被修改的点重开一树,树上未修改的点与新图父亲连边,被修改的点复制连边
更新
假设
空间复杂度
由于树中每个点只有一个父亲,而可持久化线段树有多个根,所以只能用动态开点的方法编号
主席树(可持久化权值线段树)
区间第
插入次序在
第
序列问题
区间第
线段树看成树状数组上一元素
设树状数组中下标
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】