数据结构
文章平均质量分 60
hi微波炉
这个作者很懒,什么都没留下…
展开
-
【JZOJ4747】【NOIP2016提高A组模拟9.3】被粉碎的线段树
题目描述输入第一行包括两个正整数,N ,M ,分别表示线段树的宽以及询问次数。 以下N-1 行以先序遍历(dfs深搜顺序)描述一个小R线段树,每行一个正整数表示当前非叶子节点的 mid,保证每个节点L<=mid<=r 。 (因为叶子节点不需要mid ,所以在读入时走到叶子节点时回溯即可,所以共N-1 个mid ,而且保证1~N-1 各出现一次) 而后M 行每行包括两个正整数,L,r(1<=L<原创 2016-09-06 15:32:28 · 392 阅读 · 0 评论 -
【JZOJ4845】【NOIP2016提高A组集训第5场11.2】寻找
题目描述“我有个愿望,我希望穿越一切找到你。” 这是个二维平面世界,平面上有n个特殊的果实,我从(0,0)点出发,希望得到尽量多的果实,但是出于某种特殊的原因,我的运动方式只有三种(假设当前我在(x,y)): 1、我可以走到(x+1,y) 2、我可以走到(x,y+1) 3、我可以走到(x+1,y+1) 现在我需要你的帮助,帮我找出我最多能够得到多少个果实。数据范围对于70%的数据1<=n<原创 2016-11-02 16:03:45 · 397 阅读 · 0 评论 -
【JZOJ4846】【NOIP2016提高A组集训第5场11.2】行走
题目描述数据范围对于70%的数据保证 n <= 1000 对于100%的数据保证 n,q <= 10^5,c_i,v_i <= 10^{18} 保证每次修改后的边权小于等于原来的边权且不会小于1解法由于c最大只有2642^{64},所以整除大于1的权值最多除64次,所以使用利用并查集将权值为1的边合并,然后每次询问只需寻找64条权值大于1的边即可。树链剖分也是可以的。代码#include<ios原创 2016-11-02 16:09:34 · 354 阅读 · 0 评论 -
【JZOJ4895】【NOIP2016提高A组集训第16场11.15】三部曲
=v=因为外来的入侵,国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市 被加派了k名士兵时。城市i的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。 当然,加派士兵的同时,国王也需要不断了解当前的情况。于是他随时可能询问以城市i为根的子树中的所有城市共被加派了多少士兵。 你现在是国王的军事大臣,你能回答出国王的每个询问么?= =对于50%的数原创 2016-11-15 20:32:34 · 503 阅读 · 0 评论 -
【JZOJ4920】【NOIP2017提高组模拟12.10】降雷皇
题目描述降雷皇哈蒙很喜欢雷电,他想找到神奇的电光。 哈蒙有n条导线排成一排,每条导线有一个电阻值,神奇的电光只能从一根导线传到电阻比它大的上面,而且必须从左边向右传导,当然导线不必是连续的。 哈蒙想知道电光最多能通过多少条导线,还想知道这样的方案有多少。数据范围对于20%的数据n<=10; 对于40%的数据n<=1000; 对于另外20%的数据type=0; 对于另外20%的数据保证最多能原创 2016-12-12 22:35:55 · 399 阅读 · 0 评论 -
【JZOJ3854】【NOIP2014八校联考第2场第2试9.28】分组(group)
MEiBsny所在的精灵社区有n个居民,每个居民有一定的地位和年龄,ri表示第i个人的地位,ai表示第i个人的年龄。 最近社区里要举行活动,要求几个人分成一个小组,小组中必须要有一个队长,要成为队长有这样的条件: 1、队长在小组中的地位应该是最高的(可以并列第一); 2、小组中其他成员的年龄和队长的年龄差距不能超过K。 有些人想和自己亲密的人组在同一个小组,同时希望所在的小组人越多越好。比如原创 2017-01-14 22:28:59 · 449 阅读 · 0 评论 -
【JZOJ3887】【长郡NOIP2014模拟10.22】字符串查询
haf给定n个字符串和q个询问 每次询问在这n个字符串中,有多少个字符串同时满足 1. 字符串a是它的前缀 2. 字符串b是它的后缀 100%数据满足n,q≤50000,字符串长度丌超过100,任意两串最长公共前缀较短sony十分暴力的做法: 先给这nn个字符串排序。 对于每个询问,利用二分可以确定包含给定前缀的所有字符串的区间。 然后在这个区间中,可以利用可持久化字典树求出包含给定后原创 2017-01-19 20:51:29 · 274 阅读 · 0 评论 -
【JZOJ3873】【NOIP2014八校联考第4场第2试10.20】乐曲创作(music)
ujfuiaty小可可是音乐学院的一名学生,他需要经常创作乐曲完成老师布置的作业。可是,小可可是一个懒惰的学生。所以,每次完成作业时,他不会重新创作一首新的乐曲,而是去修改上一次创作过的乐曲作为作业交给老师。小可可的乐曲由N个音调不同的音符组成,分别记为音符1…N。因此,他创作的乐曲是由1…N的一个排列构成,例如N=5时,他创作的乐曲可能为:2,1,3,5,4。但是,小可可每一次会按照一定的要求修原创 2017-01-19 21:19:34 · 662 阅读 · 0 评论 -
【JZOJ3875】【NOIP2014八校联考第4场第2试10.20】星球联盟(alliance)
fg在遥远的S星系中一共有N个星球,编号为1…N。其中的一些星球决定组成联盟,以方便相互间的交流。但是,组成联盟的首要条件就是交通条件。初始时,在这N个星球间有M条太空隧道。每条太空隧道连接两个星球,使得它们能够相互到达。若两个星球属于同一个联盟,则必须存在一条环形线路经过这两个星球,即两个星球间存在两条没有公共隧道的路径。为了壮大联盟的队伍,这些星球将建设P条新的太空隧道。这P条新隧道将按顺序原创 2017-01-19 21:46:34 · 441 阅读 · 0 评论 -
【JZOJ3216】【SDOI2013】淘金
╰( ̄▽ ̄)╭小 Z在玩一个 叫做《淘金者》的游戏。游戏的世界是一个 二维坐标 。X轴、Y轴坐标范围均为1..N。初始的时候,所有的整数坐标点上均有一块金子,共 N*N 块。一阵风吹过, 金子的位置发生了一些变化。细心的小Z发现, 初始 在(i, j) 坐标 处的金子会变到 (f(i),f(j))坐标 处。其中f(x)表示 x各位数字的乘积 ,例如 ,例如 f(99)=81,f(12)=2,f(10原创 2017-02-21 22:42:58 · 368 阅读 · 0 评论 -
【JZOJ100005】【NOI2017模拟.4.1】Shoes
任务 解法我们考虑将每双鞋按两鞋的中点排序,然后把鞋子放的就是一段连续的区间了。 现在我们设f[i][j]f[i][j]表示前ii双鞋子,用了jj个鞋柜,所需要的最小代价,就有 fi,j=mink<i{fk,j−1+w(k+1,i)}f_{i,j}=min_{k<i}\{f_{k,j-1}+w(k+1,i)\} 其中w(k+1,i)w(k+1,i)表示把第k+1k+1到ii双鞋放在一个鞋柜中原创 2017-04-07 20:55:49 · 456 阅读 · 0 评论 -
【JZOJ4835】【GDOI2017模拟10.31】量化交易
题目描述数据范围解法贪心; 从左往右枚举,设枚举到元素为x,并维护一个堆: 设此时堆顶元素为y, 如果x大于y,那么x可以与y产生差价,立即将差价贡献给答案。 如果y之前已经和其他元素z产生过差价了,那么y显然可以省出来以得到最优答案,因为x-z=x-y+y-z; 否则,把y移出堆。代码#include<iostream>#include<cstdio>#include<cstring原创 2016-10-31 22:07:47 · 235 阅读 · 0 评论 -
【JZOJ4878】【NOIP2016提高A组集训第10场11.8】时空传送
题目描述经过旷久的战争,ZMiG和707逐渐培养出了深厚的感♂情。他们逃到了另一块大陆上,决定远离世间的纷争,幸福地生活在一起。钟情707的neither_nor决心要把他们拆散,他要动用手中最大杀器之一——超时空传送仪来分开ZMiG和707。ZMiG和707所在的大陆可以被描述成N个点M条边的有向无环图。707和ZMiG自带魔法防御,neither_nor只可以用超时空传送仪把707传送到一个点,原创 2016-11-11 17:13:49 · 713 阅读 · 0 评论 -
【JZOJ4746】【NOIP2016提高A组模拟9.3】树塔狂想曲
题目描述相信大家都在长训班学过树塔问题,题目很简单求最大化一个三角形数塔从上往下走的路径和。走的规则是:(i,j)号点只能走向(i+1,j)或者(i+1,j+1)。如下图是一个数塔,映射到该数塔上行走的规则为:从左上角的点开始,向下走或向右下走直到最底层结束。 1 3 8 2 5 0 1 4 3 8 1 4 2 5 0 路径最大和是1+8+5+4+4 = 22,1+8+5+3+5 = 2原创 2016-09-05 22:09:45 · 559 阅读 · 0 评论 -
【JZOJ4711】【NOIP2016提高A组模拟8.17】Binary
题目描述输入输出样例输入6 6 8 9 1 13 9 3 1 4 5 2 6 9 1 3 7 2 7 7 1 6 1 2 11 13样例输出45 19 21数据范围解法40%暴力即可; 60%分段暴力,对于20%的数据,由于没有x,所以y二进制下,每有一个1,就计算对应位置有多少1就可以了。 100%基于60%的想法,如果y&(1<<(i-1))有值(y在二进制下的第i位是1)原创 2016-08-18 16:25:00 · 329 阅读 · 0 评论 -
【JZOJ4792】【NOIP2016提高A组模拟9.21】整除
题目描述麦克雷有一个1~n的排列,他想知道对于一些区间,有多少对区间内的数(x,y),满足x能被y整除。输入第一行包含2个正整数n,m。表示有n个数,m个询问。 接下来一行包含n个正整数,表示麦克雷有的数列。 接下来m行每行包含2个正整数l,r。表示询问区间[l,r]。输出共 m 行,每行一个整数,表示满足条件的对数。 样例输入10 9 1 2 3 4 5 6 7 8 9 10 1 10原创 2016-09-22 16:42:24 · 372 阅读 · 0 评论 -
【JZOJ4784】【NOIP2016提高A组模拟9.15】Map
题目描述输入输出样例输入4 4 2 1 2 2 3 3 2 3 4 1 2 1 4样例输出14数据范围样例解释upd:保证原图连通。 “不相交路径”的定义为不存在相同的边。可以存在相同的点。重边视为不同的边。 对于样例: 原图有2个安全点对为(2,3),(3,2) 询问1答案为4,新增的安全点对为(1,2),(1,3),(2,1)(3,1) 询问2答案为10,新增的安全点对为(原创 2016-09-22 17:30:41 · 374 阅读 · 0 评论 -
【JZOJ4817】【NOIP2016提高A组五校联考4】square
题目描述输入输出样例输入3 4 1 1 0 1 0 1 1 0 0 1 1 0 5 1 1 2 3 2 1 3 2 3 2 3 4 1 1 3 4 1 2 3 4样例输出1 1 1 2 2数据范围解法设f[i][j]为以(i,j)为右下角的正方形的最大边长。 则f[i][j]=min(f[i−1][j],f[i−1][j−1],f[i][j−1])+1(a[i][j]=1原创 2016-10-10 15:03:59 · 279 阅读 · 0 评论 -
【JZOJ4359】【GDKOI2016】魔卡少女
题目描述君君是中山大学的四年级学生。有一天在家不小心开启了放置在爸爸书房中的一本古书。于是,君君把放在书中最上面的一张牌拿出来观摩了一下,突然掀起一阵大风把书中的其她所有牌吹散到各地。这时一只看上去四不像的可爱生物“封印之兽”可鲁贝洛斯从书中钻了出来,它告诉君君书中的牌叫“库洛牌”,现在散落各地已实体化,要君君将它们全部再次封印起来,以免危害世界,于是君君开始过上了收服“库洛牌”的旅程。原创 2016-11-03 22:06:50 · 464 阅读 · 0 评论 -
【时光回溯】【JZOJ3571】【GDKOI2014】内存分配
题目描述输入输出输出m行,每行一个整数,代表输入中每次程序变化后系统所需要的空闲内存单位数。样例输入2 3 1 4 1 4 2 2 1 2 1 1 1 1 1样例输出2 3 1数据范围对于30%的数据,有1<=n,m<=1000 对于100%的数据,有1<=n,m<=100000样例解释解法显然存在一种排列顺序,使得代价最小。 考虑这个排列的方式:易得b[i]<=b[j]时,代价最原创 2016-10-13 22:19:04 · 387 阅读 · 0 评论 -
【JZOJ4804】【NOIP2016提高A组模拟9.28】成绩调研
题目描述输入输出样例输入5 3 1 2 3 1 2 1 2 1 1 1 1样例输出4数据范围解法考虑设置左指针l和右指针r; 维护[l,r]的关于等第的桶。 初始l=r=0; 每次右移r,加入新元素a[r]; 如果桶因此爆了上限,则右移l并剔除a[l]直至桶不再爆上线。 (“桶爆上限”定义:某一元素的计数超过给定的区间的右端点) 每次右移结束后,如果所有元素的计数位于各自给定区间原创 2016-09-29 16:25:37 · 316 阅读 · 0 评论 -
【JZOJ4793】【GDOI2017模拟9.21】妮厨的愤怒
题目描述栋栋和标标都是厨力++的妮厨。俗话说“一机房不容二厨”,他们两个都加入了某OI( )交流♂( )群,在钦定老婆的时候出现了偏差,于是闹得不可开交。可是栋栋是群内的长者,斗权限标标斗不过他。 于是标标单方面找到了LL仲裁庭,还帮栋栋出了律师的钱,要求按基本法来判定。法官点点喝了口果汁,仔细审查了案子,说中央资瓷栋栋连任,这是最吼的;标标还naive ,不要总想着搞一个大新闻,像那个南海某岛国原创 2016-09-29 16:57:41 · 674 阅读 · 0 评论 -
【JZOJ4811】【NOIP2016提高A组五校联考1】排队
题目描述输入输出样例输入5 4 1 2 1 3 3 4 3 5 1 4 2 4 1 2 2 5样例输出3 1 1 2数据范围样例解释解法可推知原树可以转换为一个序列,即优先序列: 一个01序列,当要往其中加入元素时,给第一个0加1即可。操作1等价于所谓优先序列加入元素。 实现: 二分第一个0的位置index; 使用数据结构得出[1,index]的和sum,如果index原创 2016-10-04 18:56:05 · 417 阅读 · 0 评论 -
【JZOJ4883】【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰
题目描述在炽热的核熔炉中,居住着一位少女,名为灵乌路空。 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量——核能。 核焰,可融真金。咳咳。 每次核融的时候,空都会选取一些原子,排成一列。然后,她会将原子序列分成一些段,并将每段进行一次核融。 一个原子有两个属性:质子数和中子数。 每一段需要满足以下条件: 1、同种元素会发生相互排斥,因此,同一段中不能存在两个质子数相同的原原创 2016-11-11 20:19:56 · 523 阅读 · 0 评论 -
CodeForces Gym 101620B Buffalo Barricades
题意在二维平面的第一象限里,有nnn个特殊格子。有QQQ次操作,每次操作都会选择一个格点,向左和向下延申挡板,遇到曾经延申过的挡板就停止。问每次操作形成的闭合区域,框住多少个特殊格子。n,Q<=300000xi,yi<=109n,Q<=300000\\ x_i,y_i<=10^9n,Q<=300000xi,yi<=10...原创 2019-07-08 22:34:59 · 196 阅读 · 0 评论