可持久化数据结构
wineandchord
这个作者很懒,什么都没留下…
展开
-
洛谷 P3835 【模板】可持久化平衡树
前置知识是 无旋Treap// 可持久化平衡树(可持久化 Treap)// 1.插入 x// 2.删除 x// 3.查询 x 的排名// 4.查询排名为 x 的数// 5.求 x 的前驱// 6.求 x 的后继// 每次操作都基于某一历史版本,同时生成一个新的版本#include<iostream>#include<cstdio>#include<cstdlib>#define MAXN 500010using namespace std;.原创 2020-08-27 19:02:40 · 180 阅读 · 0 评论 -
洛谷 P3834 【模板】可持久化线段树 2(主席树)
可持久化线段树(主席树)nnn 个数,mmm 次查询每次查询区间第 kkk 小暴力的话每次查询进行区间排序,时间复杂度最坏为:O(mnlogn)O(mn\log n)O(mnlogn)主席树的 update 每次改变的结点数为 O(logn)O(\log n)O(logn),query 的时间复杂度也为 O(logn)O(\log n)O(logn)总的时间复杂度为 O((m+n)logn)O((m+n)\log n)O((m+n)logn)#include&..原创 2020-08-25 10:01:03 · 177 阅读 · 0 评论 -
洛谷 P3919 【模板】可持久化线段树 1(可持久化数组)
维护长度为 N 的数组,可支持如下操作:在某个历史版本上修改某一个位置上的值访问某个历史版本上的某一位置的值此外,每进行一次操作(对于操作2,即为生成一个完全一样的版本,不作任何改动),就会生成一个新的版本,版本编号即为当前操作的编号(版本0表示初始状态数组)可持久化线段树(主席树)#include<cstdio>#include<iostream>#define MAXN 1000010using namespace std;int n,m,a[MAXN]原创 2020-08-19 23:05:06 · 72 阅读 · 0 评论