数据结构
文章平均质量分 50
magical_qting
这个作者很懒,什么都没留下…
展开
-
【SOJ1136】【cogs775】山海经
Description“南山之首日鹊山。其首日招摇之山,临于西海之上,多桂,多金玉。有草焉,其状如韭而青华,其名日祝余,食之不饥……又东三百里,日堂庭之山,多棪木,多白猿,多水玉,多黄金。 又东三百八十里,日猨翼之山,其中多怪兽,水多怪鱼,多白玉,多蝮虫,多怪蛇,名怪木,不可以上。……” 《山海经》是以山为纲,以海为线记载古代的河流、植物、动物及矿产等情况,而且每一条记录路线都不会有重复的山出现原创 2015-08-23 20:35:24 · 974 阅读 · 0 评论 -
bzoj 4034 [HAOI2015]T2 树链剖分+线段树
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4034题解:树上单点修改+子树修改+链查询 单点修改和链的查询都属于裸的树链剖分,比较好想,那么剩下的就是子树修改的部分。 因为每个点的子树的范围在线段树上表示的是从这个点到它的子树的最后一个点,那么对于每个点在深搜的时候记录一下它的子树的最后一个点即可,修改的时候直接在线段树上做区间修改就原创 2015-12-08 20:16:50 · 444 阅读 · 0 评论 -
bzoj 1036 [ZJOI2008]树的统计Count 线段树+树链剖分
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1036题解:树链剖分的模板题。Code#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 30010#define inf 0x3f3f3f3f#define ls r原创 2015-12-09 18:44:40 · 352 阅读 · 0 评论 -
hdu 3966 Aragorn's Story 树链剖分
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3966题意:给定一棵树,且给定这棵树上各个点的权值,有以下三种操作:I x y z:将点x到点y的路径上的所有点加上z;D x y z:将点x到点y的路径上的所有点减去z;Q x:查询点x的权值。树链剖分裸题,先剖分后用线段树维护。 手动开栈!手动开栈!手动开栈!#pragma comment(l原创 2015-12-05 14:56:15 · 346 阅读 · 0 评论 -
bzoj 1503 [NOI2004]郁闷的出纳员 平衡树(treap/Splay)
DescriptionOIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可能把他们的工资扣除一个相同的量。我真不知道除了调工资他还做什么其它事情。工资的频繁调整很让员工反感,尤其是集体原创 2015-11-21 12:03:06 · 1300 阅读 · 0 评论 -
bzoj 1208 [HNOI2004]宠物收养所 Splay
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1208Splay查询前驱和后继Code#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>#define N 80010#define MOD 1000原创 2015-12-12 14:26:18 · 483 阅读 · 0 评论 -
bzoj 1588 [HNOI2002]营业额统计
Description营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况原创 2015-11-21 11:59:14 · 342 阅读 · 0 评论 -
bzoj 3196 Tyvj 1730 二逼平衡树
懒得扒题了,还是直接上链接吧。 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3196原创 2015-11-28 14:20:16 · 386 阅读 · 0 评论 -
bzoj 3110 [Zjoi2013]K大数查询
Description有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。Input*第一行N,M 接下来M行,每行形如1 a b c或2 a b cOutput输出每个询问的结果Sample Input2 51 1 2 11 1 2 22 1原创 2015-11-28 14:10:33 · 324 阅读 · 0 评论 -
bzoj 1493 [NOI2007]项链工厂 线段树
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1493题解:这道题如果没有旋转和翻转的话,那这就是一道裸的线段树了,所以就可以想,如何将旋转和翻转过滤掉,使它真正成为一道线段树的傻逼题。 因为无论如何旋转或是翻转,都不会影响这条项链的位置变化,所以我们可以考虑记录初始时位于位置1的珠子在经过变换后的位置,和这个项链是否经过翻转,这样就可以在原创 2015-12-21 19:31:33 · 466 阅读 · 0 评论 -
bzoj 3223 Tyvj 1729 文艺平衡树 Splay
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1500题解:Splay区间翻转,用一个数组rev作标记,如果rev=1,那么就将其左右儿子交换,并将rev向其左右儿子传递,这样就可以实现区间翻转。Code#include <cstdio>#include <cstring>#include <iostream>#include <alg原创 2015-12-23 18:17:45 · 365 阅读 · 0 评论 -
bzoj 2388 旅行规划 分块+二分+凸包
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2388题解一道貌似很恶心的分块题,调了好久。。 首先需要维护动态前缀和,对于一个点s,l< s< r,那么s需要增加的值为(s-l+1)*c,如果s位于首尾块内,那么就可以直接暴力修改,如果s位于中间的块内,那么对于每个块要记录出该块首项需要加的值,以及该块中各个点的公差。对于在r点右边的块,原创 2016-03-17 14:29:42 · 1339 阅读 · 0 评论 -
bzoj 3626: [LNOI2014]LCA 树链剖分
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3626题解这道题感觉起来真的好难啊,果然是我太弱了吧TvT。 还是直接复制gconeice的题解吧(orz)显然,暴力求解的复杂度是无法承受的。 考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实原创 2016-03-28 19:34:00 · 620 阅读 · 0 评论 -
bzoj3012 [Usaco2012 Dec]First!
DescriptionBessie has been playing with strings again. She found that by changing the order of the alphabet she could make some strings come before all the others lexicographically (dictionary ordering原创 2015-09-22 19:07:57 · 1154 阅读 · 0 评论 -
bzoj3251 树上三角形
Description给定一大小为n的有点权树,每次询问一对点(u,v),问是否能在u到v的简单路径上取三个点权,以这三个权值为边长构成一个三角形。同时还支持单点修改。Input第一行两个整数n、q表示树的点数和操作数 第二行n个整数表示n个点的点权 以下n-1行,每行2个整数a、b,表示a是b的父亲(以1为根的情况下) 以下q行,每行3个整数t、a、b 若t=0,则询问(a,b) 若t=原创 2015-09-14 14:00:36 · 543 阅读 · 0 评论 -
USACO 2011 Open Gold 1.Mowing the Lawn 修剪草坪
在去年赢得了小镇的最佳草坪比赛后,约翰变得懒惰了,再也没有修剪过草坪了。现在,新一轮的比赛又开始了,约翰希望能再次夺冠。然而,约翰的草坪非常脏乱,因此,约翰需要让他的奶牛来完成这项工作。约翰有N头奶牛,平时排成一条直线,编号为1到N。每只奶牛的能力是不同的,第i头奶牛的能力为Ei。靠在一起的奶牛很熟悉,所以如果安排编号连续的K+1头奶牛在一起工作,她们就会密谋罢工 。因此,约翰需要你的帮助,如何挑选奶牛,才能使她们的原创 2015-08-02 11:23:36 · 1854 阅读 · 0 评论 -
假期
经过几个月辛勤的工作,FJ决定让奶牛放假。假期可以在1…N天内任意选择一段(需要连续),每一天都有一个享受指数W。但是奶牛的要求非常苛刻,假期不能短于P天,否则奶牛不能得到足够的休息;假期也不能超过Q天,否则奶牛会玩的腻烦。FJ想知道奶牛们能获得的最大享受指数。原创 2015-08-02 10:47:47 · 1459 阅读 · 1 评论 -
烽火传递
烽火台又称烽燧,是重要的军事防御设施,一般建在险要或交通要道上。一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息;夜晚燃烧干柴,以火光传递军情,在某两座城市之间有n个烽火台,每个烽火台发出信号都有一定代价。为了使情报准确地传递,在连续m个烽火台中至少要有一个发出信号。请计算总共最少花费多少代价,才能使敌军来袭之时,情报能在这两座城市之间准确传递。原创 2015-08-02 10:30:41 · 3228 阅读 · 1 评论 -
借教室续
Description在接受借教室请求的n 天中,第i 天剩余的教室为ai个。作为大学借教室服务的负责人,你需要完成如下三种操作共m次:① 第 l 天到第r 天,每天被归还d 个教室。② 询问第l 天到第r 天教室个数的平均数。③ 询问第l 天到第r 天教室个数的方差。Input第一行包括两个正整数n 和m,其中n 为借教室的天数,m为操作次数。接下来一行,共包含n个整数,第i 个整数表示原创 2015-08-02 20:21:57 · 761 阅读 · 0 评论 -
猴子
一个猴子找到了很多香蕉树,这些香蕉树都种在同一直线上,而猴子则在这排香蕉树的第一棵树上。这个猴子当然想吃尽量多的香蕉,但它又不想在地上走,而只想从一棵树跳到另一棵树上。同时猴子的体力也有限,它不能一次跳得太远或跳的次数太多。每当他跳到一棵树上,它就会把那棵树上的香蕉都吃了。那么它最多能吃多少个香蕉呢?原创 2015-08-02 10:58:23 · 1079 阅读 · 0 评论 -
AHoi 行星序列
“神州“载人飞船的发射成功让小可可非常激动,他立志长大后要成为一名宇航员假期一始,他就报名参加了“小小宇航员夏令营”,在这里小可可不仅学到了丰富的宇航知识,还参与解决了一些模拟飞行中发现的问题,今天指导老师交给他一个任务,在这次模拟飞行的路线上有N个行星,暂且称它们为一个行星序列,并将他们从1至n标号,在宇宙未知力量的作用下这N个行星的质量是不断变化的,所以他们对飞船产生的引力原创 2015-08-03 08:48:09 · 465 阅读 · 0 评论 -
hdu 1394 Minimum Inversion Number
Problem DescriptionThe inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i aj.For a given sequence of numbers a1, a2, ..., an, if we move th原创 2015-07-24 08:03:27 · 422 阅读 · 0 评论 -
hdu 1166 敌兵布阵
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。原创 2015-07-23 22:18:41 · 362 阅读 · 0 评论 -
hdu 1698 Just a Hook
Problem DescriptionIn the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same原创 2015-07-24 09:47:48 · 414 阅读 · 0 评论 -
vijos-P1083 小白逛公园
Description小新经常陪小白去公园玩,也就是所谓的遛狗啦…在小新家附近有一条“公园路”,路的一边从南到北依次排着n个公园,小白早就看花了眼,自己也不清楚该去哪些公园玩了。 一开始,小白就根据公园的风景给每个公园打了分-.-。小新为了省事,每次遛狗的时候都会事先规定一个范围,小白只可以选择第a个和第b个公园之间(包括a、b两个公园)选择连续的一些公园玩。小白当然希望选出的公园的分数总和尽量高原创 2015-08-31 19:17:10 · 977 阅读 · 0 评论 -
poj 2828 Buy Tickets
DescriptionRailway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue…The Lunar New Year was approaching, but unluckily the Little Ca原创 2015-07-24 21:45:18 · 401 阅读 · 0 评论 -
poj 3468 A Simple Problem with Integers
DescriptionYou have N integers, A1,A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is t原创 2015-07-25 18:36:45 · 572 阅读 · 0 评论 -
谁是天才(续)
Description张大牛:“我是天才!” 大肥熊:“你为什么是天才?” 张大牛:“你随便给我一个单词(大小写字母组成)长度为N,去掉M个字符后,我能知道字典序最小的字符串是什么样子的” 大肥熊:“换过来,现在假设这个字典序最小的字符串中第ai个字符在原串中的位置为pos,那么原串中区间[pos-ki,pos+ki]中字典序最大的字符是什么?” 张大牛又被难倒了。现在这个难倒天才的题目交到原创 2015-09-05 14:16:47 · 678 阅读 · 0 评论 -
bzoj 4477: [Jsoi2015]字符串树
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4477题意在一棵树上的每条路都有一个字符串,有q个询问(u,v,S),u,v表示树上的两个节点,S表示一个字符串,求u到v路径上字符串中前缀是S的个数。题解将树路径上的字符串压缩到作为子节点的点中,之后用树链剖分维护一个可持久化trie树即可,时间复杂度为O(10qlogn)code#inclu原创 2016-06-01 16:37:04 · 836 阅读 · 0 评论