splay
link to cnblog
LCT 的前置知识:
splay 是一种二叉搜索树,满足中序遍历是原序列,支持区间插入、删除、查询等操作
基本操作:旋转
进阶操作:双旋
顺链:先父亲再自己
折链:先自己再父亲
可证明双旋复杂度是均摊
初始化:先建一个 -INF 和一个 INF 结点
查找
插入/删除
查找 -INF 结点的存在,
数组实现
指针实现(不推荐)
文艺平衡树
要支持区间翻转
当要翻转
我们给 tag
在查找 tag 下传即可
link to cnblog
LCT 的前置知识:
splay 是一种二叉搜索树,满足中序遍历是原序列,支持区间插入、删除、查询等操作
基本操作:旋转
进阶操作:双旋
顺链:先父亲再自己
折链:先自己再父亲
可证明双旋复杂度是均摊
初始化:先建一个 -INF 和一个 INF 结点
查找
插入/删除
查找 -INF 结点的存在,
数组实现
指针实现(不推荐)
文艺平衡树
要支持区间翻转
当要翻转
我们给 tag
在查找 tag 下传即可