
splay
Phoenix丶HN
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图灵杯splay
点击打开链接 s /* splay树 每次颠倒把要操作的区间转成一棵子树,然后更新。每次把p转到根,然后翻转左子树,删除根。 本题的话每个结点序号就是最开始的位置。sp树中第i个结点的序号就是第i个数的初始位置。 所以对每个数排序,记录初始位置,就可以在树中直接找到要操作的结点。 */ #include #include #include #include using namespace s原创 2017-07-15 09:38:42 · 251 阅读 · 0 评论 -
bzoj1588 splay模板
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pairP; const int INF=0x3f3f3f3f; const ll原创 2017-07-14 15:12:16 · 233 阅读 · 0 评论 -
数据结构之--Treap(hdu3726)
//可以用来求区间第K大。下一步,深入了解spaly #include using namespace std; typedef long long ll; int w[20010],vis[60010],pre[20010],cnt,n,m; ll ans;int num; struct p1{int a,b;}edge[60010]; struct pp{int x,p;char op;}c原创 2017-07-18 12:46:54 · 398 阅读 · 0 评论 -
spaly区间翻转,分裂,合并!UVA11922,UVA11996也是个不错的spaly
#include #include #include using namespace std; struct Node { Node *ch[2]; int s,v,flip; int cmp(int k) { int d=k-ch[0]->s; if(d==1) return -1; return d<=0?0:1;原创 2017-07-18 19:31:24 · 501 阅读 · 0 评论