数据结构--treap合并
文章平均质量分 56
ez_yww
这个作者很懒,什么都没留下…
展开
-
treap的合并
http://repository.cmu.edu/cgi/viewcontent.cgi?article=2273&context=compsci原创 2017-08-09 16:21:09 · 577 阅读 · 0 评论 -
【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 · 307 阅读 · 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 · 4704 阅读 · 0 评论