![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构--平衡树
ez_yww
这个作者很懒,什么都没留下…
展开
-
【BZOJ2333】【SCOI2011】棘手的操作 treap合并
题目大意 有nn个节点,标号从1到nn,这nn个节点一开始相互不连通。第ii个节点的初始权值为aia_i,接下来有如下一些操作: U x yU~x~y:加一条边,连接第xx个节点和第yy个节点。 A1 x vA1~x~v:将第xx个节点的权值增加vv。 A2 x vA2~x~v:将第xx个节点所在的连通块的所有节点的权值都增加vv。 A3 vA3~v:将所有节点的权值都增加vv。 F1原创 2017-11-03 16:07:30 · 304 阅读 · 0 评论 -
treap的合并
http://repository.cmu.edu/cgi/viewcontent.cgi?article=2273&context=compsci原创 2017-08-09 16:21:09 · 564 阅读 · 0 评论 -
HDU 4585 题解
有n个人,每个人有一个战斗力。每个人加入少林寺时会和与他战斗力最相近的人比武。如果有多个人符合要求,输出战斗力最小的人。输出每个人和与他比武的人的编号。原创 2016-07-06 15:21:04 · 359 阅读 · 0 评论 -
HDU 3726 题解
有一个图,三种操作。 D x:删除第x条边。 Q x k:查询x所在的联通分量中,第k大的权值。 C x v:把第x个点的权值改成v。原创 2016-07-06 13:58:48 · 375 阅读 · 0 评论 -
HDU 5096 题解
实现一个acm的排名系统。原创 2016-07-06 11:09:44 · 294 阅读 · 0 评论 -
HDU 3487 题解
有一个序列,两种操作。 CUT a b c:把提取出a~b这段区间,插入到剩下的第c个数后。 FLIP a b:翻转a~b这段区间。共有300000个数,300000个操作。原创 2016-07-06 09:46:01 · 306 阅读 · 0 评论 -
HDU 1890 题解
数组中有n个数,每次输出第i大的数所在位置,再翻转第i个数到第i大的数,如果有多个数大小相同,则在原数组中下标小的数优先。原创 2016-07-06 09:13:20 · 381 阅读 · 0 评论 -
启发式合并&线段树合并&treap合并&splay合并
启发式合并 有nn个集合,每次让你合并两个集合,或询问一个集合中是否存在某个元素。 我们可以用平衡树/set维护集合。 对于合并两个A,BA,B,如果|A|<|B||A|<|B|,那么我们就把AA中的每个元素暴力加到BB中,否则就把BB中的元素暴力加到AA中。 对于一次把AA中的每个元素暴力加到BB中的操作,|A||A|会变成|A|+|B||A|+|B|,也就是说大小至少会翻倍,所以原创 2017-08-13 19:48:06 · 4666 阅读 · 0 评论