splay
Wuliwuliii
谁无暴风劲雨时,守得云开见日明!
展开
-
Game【HDU-6873】【Splay】
2020 Multi-University Training Contest 9 G题 题意:有N个有各自高度的位置,按1~N从左到右排列。现在我们有两种操作:x y将第x列,第y行的方块,包括它上面的方块从右往左的移动过去,同时推动前面的方块前进,当然,最前面的那个方块,会根据重力掉下去。非法状态(或者不能移动状态)不移动。 x,查询第x列的方块高度是多少。 于是,很明显的,我们可以考虑大于等于y的最长向前的连续,我们找到第一个小于y的高度的列的位置,那么,从到x的这个连续段内肯定是都要往..原创 2020-08-19 20:46:20 · 245 阅读 · 0 评论 -
Arthur and Table 【CodeForces - 557C】【Splay】
题目链接有一张桌子,有n个腿。第i根腿的长度是li。现在要拿掉一些腿,使得桌子稳定,拿掉第i根腿需要di的能量。稳定的条件是,假如拿掉若干条腿之后,桌子还有k个腿,那么长度最长的腿的数目要超过一半。比如桌子有5根腿,那么至少要有三根腿是最长的。另外,只有一根腿的桌子是稳定的,两个腿的桌子想要稳定,必需长度是一样的。你的任务是拿掉若干腿,使得桌子稳定,并且所消耗的能量要最少。 ...原创 2020-04-04 20:36:07 · 199 阅读 · 0 评论 -
Can you answer these queries VI 【SPOJ - GSS6】【Splay 最大子段和】
题目链接 这道题很容易看到,它是把操作给放到了Splay上面来做的,其实主要改变的就是一些pushup()里面的细节!左右子树没有节点的时候,可千万不要再去比较了!会WA死…… 呜呜呜,当时一直以为自己哪里没考虑到,后来一想,好像就是左右儿子节点不存在,而原来的左右最大是负数的时候,我们假如再去比较,就会得到一个实际上不存在的非负数。 然后,剩下的,就是基本的操作了,注意细节,Spla...原创 2019-08-10 17:12:09 · 183 阅读 · 0 评论 -
Can you answer these queries VIII 【SPOJ - GSS8】【Splay】
题目链接 题意:有N个(无符号整型)数,我们有如下的四种操作:(一)、插入一个数;(二)、删除某个位置上的数;(三)、把某个位置上的数换成一个数;(四)、查询这个区间上的,其中,0 ≤ K ≤ 10。 然后看到这个(2^32)很容易想到unsigned int刚好也是自然溢出的32位int。然后我们就可以利用unsigned int来避免取模了。 再后来,前三个问...原创 2019-08-13 19:01:24 · 209 阅读 · 0 评论 -
Double Queue 【POJ - 3481】【Splay】
题目链接 这道题很多人会想到用set来解,当然是可以的,但是确实也可以写splay,因为可以用splay代替set来做到找到某个值,这里我们只需要找到最值问题去求解即可。然后我们对应的找到其与其父亲节点之间的关系,然后更新,就可以做到删除的操作了。#include <iostream>#include <cstdio>#include <cmath&g...原创 2019-05-08 00:46:41 · 264 阅读 · 0 评论 -
SuperMemo 【POJ - 3580】【Splay】
题目链接一份完整的解题代码 这是第二次来做这道题,关于Splay与其他数据结构又更好的联系起来了,更加的注意那些在细节上的处理,在pushdown()与pushup()上的处理尤其重要。 这次写的更加清晰了。#include <iostream>#include <cstdio>#include <cmath>#include <...原创 2019-03-04 21:31:32 · 190 阅读 · 0 评论 -
SuperMemo 【POJ - 3580】【Splay+懒标记递推想法】
题目链接 可以说这道题很好的给我们讲述了在Splay树上的lazy标记的递推,跟线段树上类似,在这棵二叉搜索树上,我们一样的去递推懒标记,接下来说说在哪几处需要专门注意懒标记的使用。 这里有几处需要注意的地方,就是一开始给你的元素不是已经排好序的,不是固定顺序的(这题似乎本身就是诡异,什么都不讲明白,连数据范围都没说明白)但是仍然是一道好题的说,至少是第一次这么充分的接触到了lazy标...原创 2019-03-04 19:27:16 · 407 阅读 · 0 评论 -
[HNOI2004]宠物收养所【splay】
题目链接关于splay的一些讲解 知道有三种情况,一个是为空的,既没有人也没有宠物的时候,直接加进去即可;另外还有就是现在宠物的数量多的时候,那么就是人去选一个最贴近的;最后一个就是人在排队等待的时候,如果有宠物进来了,就直接宠物去选一个最接近的人即可。 接下来,用到的就是splay的基本操作,找到最贴近的值,当然最开始的时候别忘记加上两头的最值,为的就是比较的时候不要出意外。...原创 2019-02-27 12:40:15 · 334 阅读 · 0 评论 -
P3369 【模板】普通平衡树【splay】
题目链接一个学习splay的链接,挺不错的哟。 初识splay的时间里,总是会在各种各样的地方反着各种各样稀奇古怪的错误,好蒻…… 这次的错误是在pushup()的时候,我们更新其父节点的时候,不能直接使用"+1"来做,而是要理解为什么是加上这个节点的cnt的值。然后就是一顿splay的模板了,模板供参考啦…… QAQ。#include <iostream>#...原创 2019-02-26 20:32:33 · 221 阅读 · 0 评论 -
[HNOI2002]营业额统计【splay模板】
题目链接关于splay的知识点的讲解 一道基础的splay的题,虽然也可以去用stl去做,但是既然是锻炼splay的思想就是去用splay来写了,我们每次都要去寻找到前驱和后继,当然第一个点例外,我们直接加上第一个点的值就是了,然后,我们去找每个点的前驱和后继,但是呢,为了不遇到0前驱和0后继的情况,我加上了一个最小值与最大值来回避了这个问题(最小值可能取负值)。然后如果对应的前驱或者是...原创 2019-02-26 19:23:54 · 168 阅读 · 0 评论 -
splay的认识,由画图开始
先说一下,这个大神讲的蛮好的,可以看看他的图哦————可以跟着这个大佬的图来画,我这里讲的是学习他的讲解之后的学习的方法,以及一些笔记了。 然后就是自己对于splay的观点了初识splay是在寒假集训的时候,但是压根就没听懂,于是痛定思痛,回家之后时常迷离的我直到返校开始学习的第一天才有了属于自己的大体思路(复习提纲吧)。 现实从旋转开始认识自己对splay的初识,rotate()...原创 2019-02-26 09:28:24 · 337 阅读 · 0 评论 -
P3391 【模板】文艺平衡树(Splay)
题目链接splay的学习链接 基于这道题的关于splay的讲解——将由这篇博客开始。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm>...原创 2019-02-25 22:13:36 · 134 阅读 · 0 评论 -
【BZOJ3223】Tyvj 1729 文艺平衡树【splay】
题目链接 遇到要推lazy标记的一棵splay树,就是要去考虑该怎样的变换了。 首先就是思路,对于一棵中序遍历的二叉搜索树来说,如果要让一段区间的顺序倒过来,就是要让左右子节点以及每个其下的子节点的左右互换位置就可以改变区间的顺序了。 那么,我们要如何去推这曾关系呢,发现,如果要再不断的splay中还保留lazy标记的话,就需要在以下操作的时候去保留了,譬如要去splay之前,我...原创 2019-02-27 22:04:25 · 184 阅读 · 0 评论 -
[HNOI2012]永无乡【splay】
题目链接 好题哇,学会了什么叫做splay树的合并,这道题很容易会去想到使用并查集来解,当然,我之前写过并查集加上线段树合并来做这道题的,现在换种想法,也是学了splay不久的缘故,写起来磕磕碰碰的。 这道题让我也更加的懂了关于splay的根的一些设置,考虑到对于splay的根有了更多的了解,譬如我们通过多个根来建立多棵splay树,根的指向是根上的节点(因为这道题的每个点初始都是有自...原创 2019-02-27 21:00:31 · 284 阅读 · 0 评论 -
[NOI2004]郁闷的出纳员【splay】
题目链接 一道splay的基础题吧,稍微加了些许新的思路就是得去考虑如何裁员,在基本的代码上进行了自己的一些改进了,也算是开始从照着模板敲开始到了根据自己的思路改变少许模板了,知道当值低于最小值Minn的时候,得去裁掉这名员工,我门最后还要知道到底裁掉了多少员工,这个就是将所有的size加起来就是了,然后过程上就是一些操作,就是对于全体的员工,我们给他们全体加或者是减工资的时候,得去记录这个...原创 2019-02-27 17:17:31 · 183 阅读 · 0 评论