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]);

 

 


 

 

相关文章:

  • 2021-10-03
  • 2021-04-16
  • 2021-12-05
  • 2021-12-16
  • 2022-12-23
  • 2021-10-07
猜你喜欢
  • 2022-01-30
  • 2022-12-23
  • 2021-07-27
  • 2021-10-06
  • 2022-12-23
  • 2022-12-23
  • 2022-01-10
相关资源
相似解决方案