Rope整理(可持久化神器)
Posted shenben
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rope整理(可持久化神器)相关的知识,希望对你有一定的参考价值。
rope是什么?STL的内置的可持久化的数组。其最为方便的就是可以O1复制原来的数组。事实上rope的内置实现也是平衡树,由于只需要复制根结点,O1可以做到复制历史版本。
然而这个东西常数特大,不开O2可能会被卡
科普一下rope基本操作(百度貌似有点难找):
#include<ext/rope>
using namespace __gnu_cxx;//rope的命名空间
rope<type> R;
R.push_back(a) //往后插入
R.insert(pos,a)//在pos位置插入a,pos是一个迭代器。
R.erase(pos,n)//在pos位置删除n个元素。
R.replace(pos,x)//从pos开始替换成x
R.substr(pos,x)//从pos开始提取x个。
多数时候定义rope用指针(方便可持久化) 所以上面的点多数时候要换成->
如何进行复制?很简单,一句话:
rope<type>* R[1000];
R[i] = new rope<type>(*R[v]);
以上是关于Rope整理(可持久化神器)的主要内容,如果未能解决你的问题,请参考以下文章