随笔分类 - 数据结构
摘要:题目描述 小T有一个很大的书柜。这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本。由于这些书太有吸引力了,所以她看完后常常会忘记原来是放在书柜的什么位置。不 过小T的记忆力是非常好的,所以每
阅读全文
摘要:题目大意:给出n个数的数列,其中保证1<=ai<=n,使其分成m份,使得每一段字符集大小相加最大,求最大值。 考场上跪了,回来一想发现是线段树维护dp: 原dp:dp[ i ][ j ] = max ( dp[ j ][ k-1 ] + num[ j+1 ][ i ]); 然后发现线段树可以维护,即
阅读全文
摘要:题目描述 一年一度的“幻影阁夏日品酒大会”隆重开幕了。大会包含品尝和趣味挑战 两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加。 在大会的晚餐上,调酒师 Rainbow 调制了 n 杯鸡尾酒。这 n 杯鸡尾酒排成一行,其中第 n 杯酒 (1 ≤ i ≤ n) 被贴
阅读全文
摘要:题目大意:给出n个数的序列和m,求数列中出现至少m次的最大长度。 本来可以用trie树和ac自动机/trie图搞一搞,但是数据范围太大。 后缀数组+RMQ:
阅读全文
摘要:题目描述 a180285 幸运地被选做了地球到喵星球的留学生。他发现喵星人在上课前的点名现象非常有趣。 假设课堂上有 N 个喵星人,每个喵星人的名字由姓和名构成。喵星球上的老师会选择M 个串来点名,每次读出一个串的时候,如果这个串是一个喵星人的姓或名的子串,那么这个喵星人就必须答到。 然而,由于喵星
阅读全文
摘要:题目描述 打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的: ·输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。 ·按一下印有'B'的按键,打字机凹槽中最后一个字母会消失。 ·按一下印有'P'的按键,打字机会
阅读全文
摘要:题目描述:给你n个点和m个操作: 1.链接两个点。 2.查询某点所在树的重心。 3.查询所有树重心的异或和。 其实就是lct维护虚子树,链接时新重心一定在原来的两重心连线上,相当于splay查询区间第k大值(区间中点)。 代码:
阅读全文
摘要:题面理解很容易,求树上两颗树节点数之和。 这里需要lct维护虚子树信息。 对于每个节点,我们记录认的儿子和不认的儿子大小之和(s),和不认的儿子大小和(sx)。 在access中,x节点换儿子时,需要对x的sx值加上前任儿子值,在减去现任儿子值。 代码:
阅读全文
摘要:题面: 1.树链加; 2.删边加边; 3.树链乘; 4.树链和查询。 还是lct的题。只是标记下传时比较坑。 代码:
阅读全文
摘要:lct不保证联通查父亲! lct不保证联通查父亲! lct不保证联通查父亲! (重要的事情说三遍) 代码:
阅读全文
摘要:题目描述 辉辉热衷于洞穴勘测。 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区。经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴。假如两个洞穴可以通过一条或者多条通道按一定顺序连接起来,那么这两个洞穴就是连通的,按顺序连接在一起的这
阅读全文
摘要:题面: 物理学家小C的研究正遇到某个瓶颈。 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球。主星球没有依赖星球。 我们定义依赖关系如下:若星球a的依赖星球是b,则有星球a依赖星球b.此外,依赖关系具有传递性,即若星
阅读全文
摘要:题干:给你一段区间,并给你m个操作,操作包含: 1.计算以两点为起点的最长相同串长度。 2.将某字符改为另一字符。 3.在某位置后加入另一字符。 splay的题,还要配上hash,套上log级的验证,时间O(n*log^2); 代码:
阅读全文
摘要:一道splay综合大板子题。 题面:https://www.lydsy.com/JudgeOnline/problem.php?id=1500 下面是题解: 首先对每个点维护这些量: 1.两个儿子(ch[2]) 2.父节点(fa) 3.当前点权值(vl)和子树权值(sum) 4.修改标记(xg),反
阅读全文
摘要:题干: N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务。 题意就是给你一个长为n的序列,找出长为k的一段,使得将其修改成 所有数字相同 的花费最小。 乍看
阅读全文
摘要:这题坑死我了。。。 题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可
阅读全文
摘要:treap板子题。 前驱后继查询。 代码:
阅读全文
摘要:题干:6种操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱定义为小于x,且最大的数) 6. 求x的后继(后继定义为大于x,且最小的数) 一道treap板子题(splay
阅读全文
摘要:题干:splay模板,要求维护区间反转。 splay是一种码量小于treap,但支持排名,前驱后继等treap可求的东西,也支持区间反转的平衡树。 但是有两个坏处: 1.splay常数远远大于treap以及stl中的set。 2.没有可持久化splay,但有可持久化treap。 下面是代码: 1.p
阅读全文
摘要:题目描述 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优先级为Pi。同一时间可能有多个任务同时执行,它们的优先
阅读全文

浙公网安备 33010602011771号