数据结构
Dy_Dream
这个作者很懒,什么都没留下…
展开
-
【树链剖分】树上的询问
【题目描述】给你一棵具有N个点(编号为1到N)M条边的树,并给定各个点权的值,然后有3种操作:I C1 C2 K:把C1与C2的路径上的所有点权值加上KD C1 C2 K:把C1与C2的路径上的所有点权值减去KQ C:查询节点编号为C的权值【输入格式】输入包含多组测试数据。对于每组测试数据的...原创 2018-09-24 20:03:18 · 376 阅读 · 0 评论 -
【树状数组】【BJOI2016】回转寿司
题目告诉我们要求连续区间价值大于等于l,小于等于r的数量,我们考虑使用前缀和维护以sum[i]为结尾的符合条件的区间数量即sum[i]-r至sum[i]-l这段区间中所包含的前面的前缀和的数量我们考虑使用数组离散化维护不把sum[i]-l和sum[i]-r加入也可以,代码中为避免麻烦加入了#include<iostream>#include<iom...原创 2018-12-30 12:16:47 · 543 阅读 · 0 评论 -
【并查集】猜数
【题目描述】已知一个数列,我会告诉你某两项的差,然后你要回答我的问题【输入格式】第一行是两个数 n,m,表示数列有n项,一共有m条指令。接下来有m行,每行一个指令,指令分两类:1. I_i_j_k 表示第i比第j项大k.2. A_i_j 询问当前第i项与第j项差的绝对值.('_'表示空格)【输出格式】对于每个2类指令,输出一行,无法判断时输出-1我们考虑用并查集来维护...原创 2018-12-21 16:43:39 · 231 阅读 · 0 评论 -
【树套树】【BZOJ3196】二逼平衡树
【题目描述】您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询 x在区间内的排名;2.查询区间内排名为 k 的值;3.修改某一位置上的数值;4.查询 x 在区间内的前趋(前趋定义为小于 x,且最大的数);5.查询 x 在区间内的后继(后继定义为大于 x,且最小的数)。【输入格式】第一行两个数 n,m,表示长度为 n 的有序序列和 m 个...原创 2018-12-13 16:17:35 · 304 阅读 · 0 评论 -
【Splay】【HNOI2012】永无乡
【题目描述】基本上一次写过的平衡树,写篇题解留个纪念开n棵Splay维护这个联通块的第k小值,合并时用启发式合并,因为每次启发式合并一定是用小合并至大,所以每个点最多被合并log次,复杂度正确维护合并情况采用并查集#include<iostream>#include<iomanip>#include<cstdio>#include...原创 2018-11-29 21:57:11 · 230 阅读 · 0 评论 -
【Splay】【NOI2004】郁闷的出纳员
【题目描述】OIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可能把他们的工资扣除一个相同的量。我真不知道除了调工资他还做什么其它事情。工资的频繁调整很让员工反感,尤其是集体...原创 2018-11-28 21:51:16 · 232 阅读 · 0 评论 -
【树状数组】【CQOI2006】简单题
【题目描述】 有一个n个元素的数组,每个元素初始均为0。有m条指令,要么让其中一段连续序列数字反转——0变1,1变0(操作1),要么询问某个元素的值(操作2)。例如当n=20时,10条指令如下: 【输入格式】 第一行包含两个整数n,m,表示数组的长度和指令的条数,以下m行,每行的第一个数t表示操作的种类。若t=1,则接下来有两个数L, R (L<...原创 2018-05-03 19:56:36 · 641 阅读 · 3 评论 -
【树状数组】【HDU1556】Color the ball
【题目描述】 N个气球排成一排,从左到右依次编号为1,2,3....N。每次给定2个整数a和b(a<=b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第i个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?【输入格式】 每个测试实例第一行为一个整数N(N<=100...原创 2018-07-12 16:02:35 · 289 阅读 · 0 评论 -
【树状数组】Pascal山脉
【题目描述】小卡卡顺着老者所指的方向,来到了Pascal神峰的顶峰。老者告诉小卡卡,Pascal山脉有很多座山,都排在一条直线上,每座山都有不同的高度。 Pascal山的山顶有一个神奇的洞穴,进入这个洞穴后,你将会到达这座山前方的另一座山,更加神奇的是,你到达的山一定比他所在的山高度要小。而Pascal圣地最大的宝藏就藏在某一座Pascal山上的洞穴中,这个洞穴的特点是它有一道石门封闭着。 ...原创 2018-10-09 22:17:05 · 253 阅读 · 0 评论 -
【树链剖分】BZOJ2157 旅游
【题目描述】Ray 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说, T 城中只有N ? 1 座桥。Ray 发现,有些桥上可以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray 经过这座桥会...原创 2018-10-12 15:32:08 · 200 阅读 · 0 评论 -
【树链剖分】语文
【题目背景】那个很神奇的诗歌鉴赏树上每一个知识点都有一个重要度,但是捏,新课标那个不和谐的东西决定改变语文考试的侧重点。 新课标一共有q次操作,分别为以下两种: 1. 将以知识点i为根的子树除i之外的点的重要度增加delta 2. 询问当前点重要度。 【输入格式】第一行,知识点数n,操作数...原创 2018-09-27 19:52:08 · 178 阅读 · 0 评论 -
【并查集】集合set
【题目描述】现在给你一些连续的整数,它们是从A到B的整数。一开始每个整数都属于各自的集合,然后你需要进行如下操作。每次选择两个属于不同集合的整数,如果这两个整数拥有大于等于P的公共质因数,那么把他们所在的集合合并。反复上述操作,直到没有可以合并的集合为止。现在caima希望知道,最后有多少个集合。【输入格式】一行,三个整数A,B,P。【输出格式】一个数,表示最终集合的个数...原创 2018-10-11 09:42:50 · 469 阅读 · 0 评论 -
【树链剖分】树Tree(POJ3237)
【题目背景】给你一颗具有n个结点的树,结点编号为1到n且边的编号为1到n-1。每条边有一个边权。现要求模拟下列三种操作:1.CHANGE i v:修改第i条边的权值为v2.NEGATE a b:把a点到b点之间路径的边权全部取反;3.QUERY a b:询问a点到b点之间路径的最大边权;【输入格式】...原创 2018-09-24 21:48:26 · 196 阅读 · 0 评论 -
【Splay】【ZJOI2006】书架
【题目描述】小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T的记忆力是非常好的,所以每次放书的时候至少能够将那本书放在拿出来时的位置附近,比如说她拿的时候这本书上面有X本书,那么放...原创 2019-01-12 17:02:29 · 203 阅读 · 0 评论