平衡树
Link_Ray
这个作者很懒,什么都没留下…
展开
-
UvaLive 5031 Graph and Queries 平衡树+并查集+离线处理+树合并
题意 给出一个无向图,每次有三个操作 操作 描述 D X 删除ID为X的边。输入保证每条边至多被删除一次 Q X k 计算与结点X连通的结点中(包括本身)第k大的权值,如果不存在,直接输出0 C X V 把结点X的权值改为V 题解 采用离线的方式,从后往前做,把删除边当做是添加边。用平衡树Treap维护这些操作,添加边相当于树合并,修改权值可以用删除+插入来完成,需要注...原创 2019-01-16 19:23:51 · 117 阅读 · 0 评论 -
可持久化Treap
函数意义 可持久化Treap本质上市一个二叉平衡树,若不对其规则进行修改,中序遍历后得出的序列是递增的。 void maintain(o): 计算结点o的size int lowCount(key): 比key所在位置小1 int upperCount(key): key所在的位置,如果有多个相同的key,选位置最大的 int select(int k): 找出第k小的数的值 Node* merg...原创 2019-01-23 09:49:55 · 206 阅读 · 0 评论