[Notes] 可持久化数据结构学习笔记

2748人阅读 评论(0) 收藏 举报
分类:

可持久化数据结构 就是使数据结构可以返回历史版本

一般的实现方法是新建有修改的点 其他点与上一版本共用 这样做到空间复杂度带上一个或两个log


主席树(可持久化线段树、函数式线段树)


每次新增一条从叶子到根的链 因为有修改

学习参考资料:


MetalSeed主席树介绍


qian99主席树学习笔记


Seter1901: Zju2112 Dynamic Rankings


徐亦轲:主席树


题目练习:


[主席树套堆 区间修改 标记永久化] BZOJ 3489 A simple rmq problem


[树状数组套权值线段树] BZOJ 1901 Zju2112 Dynamic Rankings


[主席树 启发式合并] BZOJ 3123 [Sdoi2013]森林


[主席树] BZOJ 3673 可持久化并查集 by zky BZOJ 3674 可持久化并查集加强版


[主席树 树状数组套权值线段树] BZOJ 1146 [CTSC2008]网络管理Network


[主席树 二分答案] BZOJ 2653 middle



可持久化字典树


类似主席树 每次新增一条从叶子到根的链 实际上字典树就是线段树

题目练习:


[可持久化字典树] BZOJ 3261 最大异或和


[可持久化字典树 分块] BZOJ 2741 【FOTILE模拟赛】L


[可持久化字典树] BZOJ 4546 codechef XRQRS



可持久化平衡树


SBT、Splay以及旋转版Treap等BST都不可以比较方便地实现‘可持久化操作’

选择用非旋转版本的treap

奉上 memphis blog一篇:


非旋转Treap及可持久化[Merge,Split]


题目练习:


UVA 12538 Version Controlled IDE 可持久化treap


可持久化块状链表


有的时候复杂度较其他会更优 参考丽洁姐的pdf


可持久化并查集


实际上就是维护一个可持久化的数组

用可持久化线段树 或 可持久化平衡树做

详见bz上zky的题


3674: 可持久化并查集加强版



参考资料


Persistent Data Structures(可持久化的数据结构)


可持久化数据结构研究 CLJ



范浩强_wc2012谈谈各种数据结构




查看评论

【可持久化】可持久化数据结构学习笔记

我终于也要学可持久化了QwQ 膜WJMZBMR论文———————————— 线 割 分 是 我 >ω< ——————————————————————– 数据结构的可持...
  • CreationAugust
  • CreationAugust
  • 2015-07-04 10:58:58
  • 2821

【可持久化数据结构】函数式线段树

clj的论文很不错 总体思想就是只赋值不修改,同时充分运用历史版本,也正因为这个特性,所以可以完成在线询问历史版本的功能 这东西不同于后缀自动机基本基于原有知识就可以有直观的理解,往往平常想题的时...
  • huyuncong
  • huyuncong
  • 2012-05-19 21:05:05
  • 6596

可持久化数据结构研究

  • 2015年02月09日 23:25
  • 664KB
  • 下载

可持久化数据结构

  • 2013年11月28日 14:50
  • 664KB
  • 下载

可持久化并查集(三)——从动态到可持久化

其实在上一篇:可持久化并查集(二)——从镜像到动态中已经可以算是一个伪可持久化了,但是对于历史查询等操作无能为力。。所以本篇重点介绍可持久化操作 BZOJ 3673题目连接 这题不知道出题人什么...
  • lemonoil
  • lemonoil
  • 2017-02-26 16:05:38
  • 3773

关于可持久化并查集的学习和思考

鉴于noip比赛前集训时SAKER前辈教了我这个蒟蒻可持久化线段树以来,我懂得了如何维护一个支持历史查询的线段树。于是我就开始异想天开了:可不可以快速维护一个支持历史查询的数组呢? 就在这时,我上网看...
  • KsCla
  • KsCla
  • 2016-12-12 19:55:15
  • 3015

Persistent Data Structures(可持久化的数据结构)

Persistent Data Structures 可持久化的数据结构 Contents 内容 Introduction                          介绍 Persis...
  • kyeremal
  • kyeremal
  • 2015-05-19 23:06:53
  • 605

【BZOJ】【P3674】【可持久化并查集加强版】【题解】【可持久化数组】

传送门:www.lydsy.com/JudgeOnline/problem.php?id=3674
  • u012732945
  • u012732945
  • 2014-08-02 16:21:34
  • 2489

可持久性数组 bzoj3674 可持久化并查集加强版

传送门:点击打开链接 题意: 强制在线操作,定义3种操作,查询两个点是否在同一集合,合并两个点,把状态恢复到之前的某个状态 思路:利用线段树实现的可持久性数组,其实原理上就是线段树,那么是如何实现...
  • qwb492859377
  • qwb492859377
  • 2016-01-03 19:38:24
  • 1729

日常训练 IQ测试 可持久化数组||链表

题意简述:判断一个序列bb是否是另外一个序列aa删除若干个数字之后得到的。原序列长度为nn,有mm组长度为L的询问。(1≤ai,bi≤106,∑L≤106,1≤n,m≤106)(1\le a_i,b_...
  • MintGreenTZ
  • MintGreenTZ
  • 2017-05-27 17:15:15
  • 417
    个人资料
    持之以恒
    等级:
    访问量: 40万+
    积分: 1万+
    排名: 1233
    文章分类
    最新评论