E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ1861
【
BZOJ1861
】【splay】Book 书架
Description小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T的记忆力是非常好的,所以每次放书的时候至少能够将那本书放在拿出来时的位置附近,比如说她拿的时候这本书上面有X本书,那么
Gregory99174
·
2020-08-20 03:36
BZOJ1861
[Zjoi2006]书架——非旋转treap
题目描述小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T的记忆力是非常好的,所以每次放书的时候至少能够将那本书放在拿出来时的位置附近,比如说她拿的时候这本书上面有X本书,那么放回去时这本书
weixin_33851604
·
2020-08-13 21:48
bzoj1861
splay1操作:从平衡树中取出这个数,把rank改成最小,再insert进去2操作:从平衡树中取出这个数,把rank改成最大,再insert进去3操作:取出x和它相邻的数(1是右相邻,-1是左相邻,0直接continue)4操作:查询x的rank5操作:查询rank=x的数/*************************************************************
syh0313
·
2020-08-13 19:31
ACM-BZOJ
【
BZOJ1861
】书架(Splay)
传送门书架Ithink思路:将每本书的编号作为其在splay中的编号,在查找点x的rank时将x转至树根左子树大小即是。Attention:删除一个点,找前驱后继与将右子树直接接在前驱上复杂度是大不相同的。Code/**************************************************************Problem:1861User:EttaLanguage:
Etta19
·
2017-08-08 19:41
splay
小板子
[
BZOJ1861
]书架 Treap
TreapTreap的从左到右比较关键字为位置将一本书拿到第一个/最后一个相当于给这本书一个大于/小于所有书的优先值,删除后重新插入即可交换两本书可以直接交换他们的优先值剩下的是查询第k大以及一个值的名次注意明确数组的定义#include#include#include#include#defineN1000500usingnamespacestd;ints[N][2],tr[N],rnd[N],
HbFS-
·
2016-11-30 14:19
BZOJ1861
——book
就是给你一摞书,然后又询问第k大,编号为x的书是第几大,然后修改书的位置splay模板题。。。然而我还是不会,,,又遇到lrj的书的坑了,rj的书里没有father,顿时弄得我ask不会搞了注意合并和分离的时候考虑一下会不会出空树,如果是空树就会RE,特判一下#include #include #include #include usingnamespacestd; structNode{ Nod
qzh_1430586275
·
2016-04-22 09:00
C++
splay
bzoj
1861
[
BZOJ1861
][ZJOI2006]书架(平衡树splay)
题目描述传送门题解splay模板题(笑对于基础算法这个熟练程度怎么去省选啊==题目中所给的编号即为平衡树中的点权。开一个数组记录一下权值为i的在树中的变化是多少,每次询问的时候直接找。对于Top操作:如果树里只有一个点,什么都不用干;否则,首先把这个点删除,然后找到树中的第一个点,将这个点转到根,将删除的那个点插到根的右儿子;对于Bottom操作:如果树里只有一个点,什么都不用干;否则,首先把这个
Clove_unique
·
2016-04-07 16:12
题解
平衡树
省选
[
BZOJ1861
][ZJOI2006]书架(平衡树splay)
题目描述传送门题解splay模板题(笑对于基础算法这个熟练程度怎么去省选啊==题目中所给的编号即为平衡树中的点权。开一个数组记录一下权值为i的在树中的变化是多少,每次询问的时候直接找。对于Top操作:如果树里只有一个点,什么都不用干;否则,首先把这个点删除,然后找到树中的第一个点,将这个点转到根,将删除的那个点插到根的右儿子;对于Bottom操作:如果树里只有一个点,什么都不用干;否则,首先把这个
Clove_unique
·
2016-04-07 16:00
splay
bzoj
ZJOI
[
BZOJ1861
] [Zjoi2006]Book 书架
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1861题目大意支持操作1.TopS——表示把编号为S的书放在最上面2.BottomS——表示把编号为S的书放在最下面3.InsertST——T∈{-1,0,1},若编号为S的书上面有X本书,则这条命令表示把这本书放回去后它的上面有X+T本书4.AskS——询问编号为S的书的上面目前有多少本书5.
slongle_amazing
·
2016-01-11 20:00
【
bzoj1861
】[Zjoi2006]Book 书架 splay
splay的另一种应用,维护序列,不再按照权值建平衡树,而是按照下标建平衡树,然后维护一些东西。题目大意:1、把编号为S的书放到最上面2、把编号为S的书放到最下面3、把编号为S的书前移、后移或者不动4、询问编号为S的书上面有多少本书5、询问第S本书的编号很朴素的平衡树,不需要维护任何东西,直接模拟就好。记录一下编号为S的书对应的splay上的节点。1、2、3删掉这本书,新建一个节点,插入对应位置4
u012288458
·
2015-12-29 13:00
【
BZOJ1861
】【splay】Book 书架
Description 小 T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T 的记忆力是非常好的,所以每次放书的时候至少能够将那本书放在拿出来时的位置附近,比如说她拿的时候这本书上面
·
2015-11-11 19:31
play
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他