切傻逼题还能wa那么多次我也是醉了好啦其实是sbt都不会敲了(一直用神器treap)重点是研究了下陈大神的删除,以前treap的删除都是直接旋转去删的……还是treap大法好&……题解还用写么?就是找前驱找后继然后判断一下const maxn=300000; mm=1s[right[t]] th.....
分类:
其他好文 时间:
2015-02-25 01:51:44
阅读次数:
206
平衡树裸题只需要求前驱后驱treap写法const mm=1fix[t] then rt(t); end else begin insert(right[t],v); if fix[right[t]]>fix[t] then lt(t); end;end;function pre...
分类:
其他好文 时间:
2015-02-24 18:37:18
阅读次数:
129
fhq:我们有一个新的Treap,支持splay的一切操作你怕不怕。。。memphis:我们讲的更详细一点好了 1 /************************************************************** 2 Problem: 3223 3 ...
分类:
其他好文 时间:
2015-02-17 23:33:16
阅读次数:
196
平衡树+启发式合并+并查集 因为要求一坨数中第k大的……用平衡树会很好维护…… 但又要求连通块?所以用并查集来维护…… 大概就是让并查集的fa和Treap的根是同一个节点吧……TLE了N多发,可能是Treap的随机rank看脸的原因……QAQ唯一过了的一次是小号…… 1 /*********...
分类:
其他好文 时间:
2015-02-17 02:02:55
阅读次数:
195
平衡树treap:(1)树+堆。具体是随机某个节点的值,然后维护这个值满足堆的性质。(2)代码实现sbt:(1)陈大神的节点大小平衡树,其实就是根据四种情况进行调整,而这四种情况也是其他bst会使用的调整方式。中心思想就是当节点信息变时,用maintain调整(2)代码实现procedure mai...
分类:
其他好文 时间:
2015-02-13 22:26:01
阅读次数:
181
几场区域赛下来... 暴露了很多不足,来定个小计划... (1)DLX 安装包 (2)Lucas 补丁(2013 Dhaka E) (3)Dilworth 安装包(poj 1065、3636,博文1,博文2) (4)树--巨型安装包(分治,重心,倍增,treap) (5)圆的反演 启蒙...
分类:
其他好文 时间:
2015-02-09 21:36:05
阅读次数:
198
其实这里就是用Treap来实现了一个求和的过程,其实这种区间操作还是用线段树或者是Splay比较方便。将点排序之后随便搞一下就就好,要注意的就是有点重复情况,我这里是把树的每一个节点又添加了一个cnt域来维护的,自己手撸的平衡树就是这么灵活= =#include #include #include ...
分类:
其他好文 时间:
2015-02-06 13:07:20
阅读次数:
111
高中的时候做过这个,是用两个堆搞的,现在看来其实就是实现一个很简答的数据结构,能够插入元素,找第k大,用平衡树来搞其实是大材小用了,就当做是练习吧。Treap是利用除了键值之外另外一个rand_key域的随机性来保证平衡的,所以说只要随机函数够好,理论上应该是平衡的,而且写起来比较方便。#inclu...
分类:
其他好文 时间:
2015-02-06 12:59:35
阅读次数:
362
这是一个比较全面的题,涉及到了添加删除寻找第k大还有树的合并。做法大概先执行所有的删边操作,建立最终的图,这里可以用并查集维护一下, 方便判断是不是在一个联通块中,然后对每个子块建立一个Treap,如果遇到添加边导致两个联通块合并成一个的情况,就将两棵树当中小的那个合并到大的那个里面。因为每次这样的...
分类:
其他好文 时间:
2015-02-06 12:58:14
阅读次数:
190
同样是插入和寻找第k大,这里因为区间不存在包含的情况,所以可以现将区间排序然后直接搞就行了。如果存在包含的情况那就只能上主席树或者是莫队算法来搞了。#include #include #include #include #include using namespace std;struct Node...
分类:
其他好文 时间:
2015-02-06 12:56:27
阅读次数:
151