splay
文章平均质量分 86
MyZhY
For You To Your For
展开
-
BZOJ 1500 [NOI2005]维修数列 Splay
DescriptionInput输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目。第2行包含N个数字,描述初始时的数列。以下M行,每行一条命令,格式参见问题描述中的表格。任何时刻数列中最多含有500 000个数,数列中任何一个数字均在[-1 000, 1 000]内。插入的数字总数不超过4 000原创 2017-05-17 21:24:32 · 463 阅读 · 0 评论 -
BZOJ 4991 [Usaco2017 Feb]Why Did the Cow Cross the Road III 树状数组套splay【未AC】
DescriptionFarmer John is continuing to ponder the issue of cows crossing the road through his farm, introduced in the preceding two problems. He realizes now that the threshold for friendliness原创 2017-08-28 13:59:13 · 682 阅读 · 0 评论 -
BZOJ 2631 tree Link Cut Tree
Description 一棵n个点的树,每个点的初始权值为1。对于这棵树有q个操作,每个操作为以下四种操作之一:+ u v c:将u到v的路径上的点的权值都加上自然数c;- u1 v1 u2 v2:将树中原有的边(u1,v1)删除,加入一条新边(u2,v2),保证操作完之后仍然是一棵树;* u v c:将u到v的路径上的点的权值都乘上自然数c;/ u v:询问u到v的路径上原创 2017-07-25 10:24:59 · 313 阅读 · 0 评论 -
BZOJ 3669 [Noi2014]魔法森林 Kruskal+LCT
Description为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M。初始时小E同学在号节点1,隐士则住在号节点N。小E需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪就会对其发起攻击。幸运的是,在号节点住着两种守护精灵原创 2017-06-03 13:51:57 · 443 阅读 · 0 评论 -
BZOJ 3282 Tree link cut trees
Description给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。1:后接两个整数(x,y),代表连接x到y,若x到Y已经联通则无需连接。2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。3:后接两个整原创 2017-09-09 22:41:41 · 333 阅读 · 0 评论 -
BZOJ 1180 [CROATIAN2009]OTOCI Link Cut Trees
Description给出n个结点以及每个点初始时对应的权值wi。起始时点与点之间没有连边。有3类操作: 1、bridge A B:询问结点A与结点B是否连通。如果是则输出“no”。否则输出“yes”,并且在结点A和结点B之间连一条无向边。 2、penguins A X:将结点A对应的权值wA修改为X。 3、excursion A B:如果结点A和结点B不连通,则输出“impossible原创 2017-07-30 22:27:15 · 310 阅读 · 0 评论 -
BZOJ 3262 陌上花开 树状数组套splay
Description有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb。显然,两朵花可能有同样的属性。需要统计出评出每个等级的花的数量。Input第一行为N,K (1 <= N <= 100,000,原创 2017-07-11 21:48:46 · 480 阅读 · 0 评论 -
BZOJ 3196 Tyvj 1730 二逼平衡树 线段树套splay
Description您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)Input第一行两个数 n,m 表示长度为n的有序序列和m个操作原创 2017-07-11 11:31:34 · 471 阅读 · 0 评论 -
BZOJ 2816 [ZJOI2012]网络 Link Cut Tree
题目描述有一个无向图G,每个点有个权值,每条边有一个颜色。这个无向图满足以下两个条件:对于任意节点连出去的边中,相同颜色的边不超过两条。图中不存在同色的环,同色的环指相同颜色的边构成的环。在这个图上,你要支持以下三种操作:修改一个节点的权值。修改一条边的颜色。查询由颜色c的边构成的图中,所有可能在节点u到节点v之间的简单路径上的节点的权值的最大值。原创 2017-06-21 18:13:17 · 316 阅读 · 0 评论 -
BZOJ 2049 [Sdoi2008]Cave 洞穴勘测 link cut trees 模板题
Description辉辉热衷于洞穴勘测。某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这些通道则被称之为这两个洞穴之间的一条路径。洞穴都十分坚固无法破坏,然而通道不太稳定原创 2017-06-04 16:39:32 · 373 阅读 · 0 评论 -
BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊 LCT
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更原创 2017-05-29 16:43:08 · 501 阅读 · 0 评论 -
BZOJ 3224 Tyvj 1728 普通平衡树 Splay
Description您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求x的后继(后继定义为大于x,且最小的数)Input第原创 2017-04-29 20:57:28 · 377 阅读 · 0 评论 -
模板整理: 部分数据结构
最重要的内容之一= = 主要整一下线段树,树状数组,st表,平衡树。 主要前3个,第4个是用来乱搞的= =会用set的应该也口译。。。 1.线段树 主要思想是把一个线段从中间分开,分别处理, 然后合并两个区间。 有区间合并性的信息都可以用线段树来维护。 常数偏大,注意数组开4倍防止越界。 还有懒惰标记,处理区间更新的情况。有时候下传标记顺序很重要。 单点修改直接log(n)修改原创 2017-11-10 09:42:28 · 560 阅读 · 0 评论