Splay
Nightmare丶
登高必自卑,行远必自迩
展开
-
1500: [NOI2005]维修数列(Splay)
Description请写一个程序,要求维护一个数列,支持以下 6 种操作:请注意,格式栏 中的下划线‘ _ ’表示实际输入文件中的空格Input输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目。第2行包含N个数字,描述初始时的数列。以下M行,每行一条命令,格式参见问题描述中的表格。任何时刻数列中最多含有500 000个数...原创 2019-12-25 14:14:18 · 142 阅读 · 0 评论 -
1251: 序列终结者(Splay)
Description网上有许多题,就是给定一个序列,要你支持几种操作:A、B、C、D。一看另一道题,又是一个序列 要支持几种操作:D、C、B、A。尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术含量……这样 我也出一道题,我出这一道的目的是为了让大家以后做这种题目有一个“库”可以依靠,没有什么其他的意思。这道题目 就叫序列终结者吧。 【问题描述】 给定一个长度为N的序列,每个...原创 2019-12-24 16:09:01 · 114 阅读 · 0 评论 -
1503: [NOI2004]郁闷的出纳员(Splay)
DescriptionOIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可能把他们的工资扣除一个相同的量。我真不知道除了调工资他还做什么其它事情。工资的频繁调整很让员工反感,...原创 2019-12-20 01:08:14 · 88 阅读 · 0 评论 -
1862: [Zjoi2006]GameZ游戏排名系统(Splay)
DescriptionGameZ为他们最新推出的游戏开通了一个网站。世界各地的玩家都可以将自己的游戏得分上传到网站上。这样就可以看到自己在世界上的排名。得分越高,排名就越靠前。当两个玩家的名次相同时,先上传记录者优先。由于新游戏的火爆,网站服务器已经难堪重负。为此GameZ雇用了你来帮他们重新开发一套新的核心。排名系统通常要应付三种请求:上传一条新的得分记录、查询某个玩家的当前排名以及返回某个区...原创 2019-12-19 19:17:13 · 249 阅读 · 0 评论 -
P3391 文艺平衡树(Splay区间翻转)
题解:Splay区间反转的模板题。翻转[3,5]时,我们可以将3的前驱找到,5的后继找到,然后根节点的右儿子的左子树就是属于[3,5]这个区间的数,可以自己画画就容易知道了。然后就是给这个结点打上标记表示这个区间是需要翻转的,在以后查询或者需要时就标记下放,左右子树翻转即可。AC代码:#include<bits/stdc++.h>using namespace std;...原创 2019-12-18 22:01:19 · 215 阅读 · 0 评论 -
P3466 [POI2008]KLO-Building blocks(Splay)
题意:N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务.你还要求输出结束状态时,每柱砖的高度题解:很显然,要让我们将这K个柱子变成一样高,就是求这K个数的中位数所以我们需要用一种数据结构能够实现插入,删除,求第k大,它前面有多少个数,后面有多少个...原创 2019-12-18 19:45:28 · 194 阅读 · 0 评论 -
4923: [Lydsy1706月赛]K小值查询(Splay)
Description维护一个长度为n的正整数序列a_1,a_2,…,a_n,支持以下两种操作:1 k,将序列a从小到大排序,输出a_k的值。2 k,将所有严格大于k的数a_i减去k。Input第一行包含两个正整数n,m(1<=n,m<=100000),分别表示序列的长度和操作的个数。第二行包含n个正整数a_1,a_2,…,a_n(1<=a_i<=10^9),分...原创 2019-12-16 22:04:44 · 145 阅读 · 0 评论 -
Double Queue POJ - 3481(Splay、Set)
题意:有3种操作,op=1时,添加一个优先级为p,编号为k的客户,op=2时表示为优先级最大的客户服务,op=3则为优先级最小的客户服务题解:这题连数据范围都没给,而且还是POJ的题,真的难受…先看Set做法,直接放入pair即可,set会先按照first排序,再按照second排序,所以直接取头或尾即可Set天下第一!!!再看Splay做法,码量多了好多可以考虑用Splay维护优...原创 2019-12-12 14:54:56 · 97 阅读 · 0 评论 -
BZOJ 1208: [HNOI2004]宠物收养所(Splay)
题目描述最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养所的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了,宠物收养所总是会有两种情况发生:被遗弃的宠...原创 2019-12-11 22:05:16 · 95 阅读 · 0 评论 -
BZOJ 3224/P3369 普通平衡树(Splay)
AC代码:#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN = 1e5+50;struct node{ int son[2],fa,val,cnt,sz; }t[MAXN];int root,tot;inline v...原创 2019-12-11 17:03:12 · 108 阅读 · 0 评论