![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
splay
Phoenix丶HN
这个作者很懒,什么都没留下…
展开
-
图灵杯splay
点击打开链接s/*splay树每次颠倒把要操作的区间转成一棵子树,然后更新。每次把p转到根,然后翻转左子树,删除根。本题的话每个结点序号就是最开始的位置。sp树中第i个结点的序号就是第i个数的初始位置。所以对每个数排序,记录初始位置,就可以在树中直接找到要操作的结点。*/#include#include#include#includeusing namespace s原创 2017-07-15 09:38:42 · 221 阅读 · 0 评论 -
bzoj1588 splay模板
#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pairP;const int INF=0x3f3f3f3f;const ll原创 2017-07-14 15:12:16 · 200 阅读 · 0 评论 -
数据结构之--Treap(hdu3726)
//可以用来求区间第K大。下一步,深入了解spaly#includeusing 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 · 362 阅读 · 0 评论 -
spaly区间翻转,分裂,合并!UVA11922,UVA11996也是个不错的spaly
#include#include#includeusing 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 · 461 阅读 · 0 评论