bzoj 1588 平衡树 splay】的更多相关文章

1588: [HNOI2002]营业额统计 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 15446  Solved: 6076[Submit][Status][Discuss] Description 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是一项相当复杂的工作.由于节假日,大减价或者是其…
Treap: //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; int size,n,xx,root,ans,tmp; struct Treap{int ch[2],v,cnt,rnd,sz;}tr[500050]; void Upd(int k){tr[k].sz=tr[tr[k].ch[0]].sz+tr[tr[k].ch[1]].sz+tr[k].cnt;} void rot(…
BZOJ链接 洛谷链接 题意简述 模板题啦~ 代码 //普通平衡树(Splay) #include <cstdio> int const N=1e5+10; int rt,ndCnt; int ch[N][2],fa[N],val[N],siz[N],cnt[N]; int wh(int p) {return p==ch[fa[p]][1];} void create(int p,int v) {ch[p][0]=ch[p][1]=fa[p]=0; val[p]=v; cnt[p]=1,siz…
#1329 : 平衡树·Splay 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:小Hi,上一次你跟我讲了Treap,我也实现了.但是我遇到了一个关键的问题. 小Hi:怎么了? 小Ho:小Hi你也知道,我平时运气不太好.所以这也反映到了我写的Treap上. 小Hi:你是说你随机出来的权值不太好,从而导致结果很差么? 小Ho:就是这样,明明一样的代码,我的Treap运行结果总是不如别人.小Hi,有没有那种没有随机因素的平衡树呢? 小Hi:当然有了,这次我就跟…
Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x的后继(后继定义为大于x,且最小的数) Input 第一行为n,表示操作的个数,下面n行每行有两个数opt和x,opt表示操作的序号(1<=opt<=6) Output 对于操作3,4,5,6每行输…
Hihocoder 1329 平衡树·Splay(平衡树) Description 小Ho:小Hi,上一次你跟我讲了Treap,我也实现了.但是我遇到了一个关键的问题. 小Hi:怎么了? 小Ho:小Hi你也知道,我平时运气不太好.所以这也反映到了我写的Treap上. 小Hi:你是说你随机出来的权值不太好,从而导致结果很差么? 小Ho:就是这样,明明一样的代码,我的Treap运行结果总是不如别人.小Hi,有没有那种没有随机因素的平衡树呢? 小Hi:当然有了,这次我就跟你讲讲一种叫做Splay的树吧…
BZOJ 1588: [HNOI2002]营业额统计 Time Limit: 5 Sec  Memory Limit: 512 MBSubmit: 9619  Solved: 3287 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=1588 Description 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来…
[阶梯报告]洛谷P3391[模板]文艺平衡树 splay 题目链接在这里[链接](https://www.luogu.org/problemnew/show/P3391)最近在学习splay,终于做对了这道模版题,虽然不是很难的样子.~~但是我一开始并不会做,而且看完题解之后还打错一直打不对,调试了很久~~下面是题目简述 现在给你一个长度为n的序列,序列元素初始为1,2,3...n,同时有m个操作,每个操作给定一个L和R,表示将[L,R]区间的数进行翻转. 输出:完成所有操作之后的序列(n,m≤…
链接一下题目:luoguP3391[模板]文艺平衡树(Splay) 平衡树解析 这里的Splay维护的显然不再是权值排序 现在按照的是序列中的编号排序(不过在这道题目里面就是权值诶...) 那么,继续考虑,其实最终的结果也就是整颗Splay的中序遍历(平衡树的性质诶) 那么,现在如果按照权值来维护显然是不正确的 继续找找规律,发现,如果一个点在序列中的位置为第K个 那么,他就是平衡树的第K大(就当做普通的Splay来看的话) 所以,序列中的位置就变成了区间的第K大点 继续考虑如何翻转 翻转也就是…
前文链接: 平衡树--splay 一 - yi_fan0305 - 博客园 (cnblogs.com) 平衡树--splay 二 - yi_fan0305 - 博客园 (cnblogs.com) 再补充两个操作,平衡树就暂时完结了.好耶ヾ(≧▽≦*)o 本文代码我没有测试过这两个操作目前对我来说太偏了,如果有错,欢迎在评论区指出! 十五.合并平衡树 合并条件,第二棵平衡树的所有结点的值都比第一棵平衡树的要大,将第一棵平衡树的最大节点的右孩子设为第二棵平衡树 int join(int x,int…