01 2024 档案
摘要:题目链接:CF 或者 洛谷 并不是很难的题,关于颜色数量类问题,那么很显然,沿用经典的 "HH的项链" 思想去思考问题。由于涉及到了 个数的限制,我们观察到如果一个数在一个区间上有区间贡献: 其中 表示为当前 的第前 个数,换句话来讲,\(x_
阅读全文
摘要:题目链接:CF 或者 洛谷 感觉很经典的题,而且给的 ,虽然莫队之类的很好想,但完全没必要去考虑这类算法,这种数据范围常数又大又开盲盒。很显然的具有单 的算法。 回忆下经典问题 “HH的项链”。其实对于区间颜色数的方法网上已经总结的很全了,常见的无非就莫队,维护 \(l
阅读全文
摘要:题目链接:可乐 一开始想着 0-1 Trie,枚举 去写,然后判断就行了。然后想起南京区域赛的 C 题,其实和这个也有点大同小异的感觉,可以用更朴素的办法,找到对于一个 而言,满足题意的所有 去 。这玩意很容易办到的,稍微讨论下: 类似 0-1 T
阅读全文
摘要:题目链接:[LMXOI Round 1] Size 挺有意思的诈骗题,其实这类题都喜欢披一个外壳,例如数据范围提示之类的。记得以前遇到的很多诈骗题,有一道 cf 的高分题,问的是区间出现次数的次数 ,这玩意一开始感觉好难,出现次数还简单,还要考虑次数的次数,所以带修莫队的时候,一直没法
阅读全文
摘要:题目链接:CF 或者 洛谷 高分题,感觉挺有意思的题,值得一提的是这个题的 和 版本却是两个基础题。 一开始以为跟这道差不多:P8512 [Ynoi Easy Round 2021] TEST_152 题解。后面重新读了一下发现一个有趣的点: 也就是是说操作的
阅读全文
摘要:题目链接:上帝造题的七分钟2/花神游历各国 差不多的题:[Ynoi Easy Round 2023] TEST_69 注意到对某个点来说暴力单点即为反复的: ,最终为 ,根据 主定理可知,跟 树分析差不多的,复杂度为:\(O(
阅读全文
摘要:题目链接:CF 或者 洛谷 想了很久,然后想起做过的一道题:秃子酋长,一开始以为差不多,结果写着写着就发现不对劲了。最后写出了个神仙回滚莫队解法,感觉很妙,记录下。 进入神仙分析时刻 首先,我们来考虑一个事实,加上一个数以后,如果能找到它的前后驱,那么可以立马更新最优解,这个也即是瓶颈点。因为最优的
阅读全文
摘要:题目链接:CF 或者 洛谷 前置知识点:序列操作 本文关键词 约定俗称:因为频繁敲最长不下降子序列 和最长不上升子序列 太麻烦了,下文将 这种最长不降子序列用 描述, 这种最长不升子序列用 \
阅读全文
摘要:题目链接:洛谷 或者 蓝桥杯 或者 C语言中文网 几个OJ的AC记录: 忘了哪个OJ的: 洛谷: C语言中文网: 蓝桥杯: emmmmmmm,好像每个OJ给的时限和空间还不一样,蓝桥杯官方还给了 和 , C语言中文网机子比较老可能,挺卡常的,开了个究极快读和指令集就过去了,也可以自
阅读全文
摘要:题目链接:CF 或者 洛谷 前置知识点:平衡树合并: CF文章 与维基百科 看上去这题有很多人用线段树分裂与合并去做,其实这种需要分裂和合并的,我们用文艺平衡树去维护区间信息是最容易写的。 考虑本题的特殊性,值域并不是很大,所以其实我们可以为每种值开一棵文艺平衡树,而平衡树维护的值为下标序列,即对应
阅读全文
摘要:两道基本一样的题: 题目链接: P2757 [国家集训队] 等差子序列 Permutation 链接:CF 或者 洛谷 等差子序列那题其实就是长度不小于 的等差数列是否存在,我们考虑等于 的是否存在就行,因为等于 长度的都不存在,更长的就不可能了,然后多了一个多测
阅读全文
摘要:题目链接:CF 或者 洛谷 挺有意思的题,一开始看到了 ,以为是根号分治方向的题,结果发现这题还给了一个“重排”操作玩玩。所以这题其实算是结论题。 首先我们明确一点,最小操作次数,一定不会低于区间种类 的。因为我们观察到每次操作至多会减少一
阅读全文
摘要:题目链接:CF 或者洛谷 本题是可以用平衡树去做的,具体的为每个 开一棵平衡树去维护相对位置,而这种移动操作用平衡树维护又是很容易做到的,这种做法是双 。在 的数据下,我们来说说好写的分块该如何去写。 黑色的代表一个块,考虑暴力修改情况,假如原来的数字为 \
阅读全文
摘要:题目链接:CF 或者 洛谷 析合树真是连续段问题的降智神器 先看下题目的一些特殊性,每行每列恰好有一个棋子。考虑特殊性, 的棋盘,那么就该判断是否有 个棋子,容易观察到,也就是相当于每一行并且每一列都有一个棋子。而容易知道,这些棋子所在的行或者列拿出来应当是“
阅读全文
摘要:题目链接:Intrinsic Interval 讲讲析合树如何解决这种问题,其实这题很接近析合树的板题的应用。 增量法进行析合树建树时,需要用 ST 表预处理出 和 以便 查询极差,然后线段树去维护 上的极差减区间端点做差即 \(
阅读全文
摘要:题目链接:[Ynoi Easy Round 2021] TEST_152 题目比较抽象,翻译一下。就是有 个操作,每个操作为 表示把长为 序列 的 上的数覆盖为 。而查询为 \([tim
阅读全文
摘要:题目链接:死去的 Elo 突然开始攻击我 容易知道,如果暴力对某个区间而言进行查询,我们可以考虑使用并查集,开一个桶,每次添加一个数 ,那么如果已经存在了 或者 ,我们可以考虑合并 与 或者
阅读全文
摘要:题目链接:ZAB-Frog 基于一个根据距离第 大的事实: 容易知道,对于红色的点而言,与它相近最近的 个点是连续的。而第 远的要么是最左侧要么是最右侧。而我们注意到原数组是升序,那么考虑红色点往右走到新的位置,这些蓝色单点整天有什么影响: 左边的点离它更远了。
阅读全文
摘要:题目链接:作业 其实可以类似“HH的项链”转化为偏序问题再 cdq 分治。不过这题感觉莫队然后值域分块很好写啊,基本不用动脑。 考虑查询的两个信息: 的 的个数。 的 的种类。 考虑优化莫队插入和查询复杂度
阅读全文
摘要:题目链接:Fountain 很不错的基础算法组合题:单调栈+倍增 首先考虑到一个事实,就是下面第一个比当前半径大的位置会成为移动的第一次落脚点,抽象下就是下面出现的第一次比自身大的半径,这个问题显然可以单调栈轻松解决。 第二个点就是我们知道了单次移动的第一个位置,现在问你多次移动到的位置,并且还要保
阅读全文
摘要:题目链接:Atcoder 或者 洛谷 对于解决二维区间内的最值类型问题,我们常常有一类特别好用的方法,就是悬线法,它可以看做是单调栈的子集,但更加好理解和书写。 对于悬线法,我们有一个常见的模型,找出面积最大的符合题意的最大的矩形: 例题 P4147 玉蟾宫。对于悬线法而言,我们需要理解什么是悬线:
阅读全文
摘要:题目链接:理想的正方形 比较明显的,我们可以用二维 ST 表解决,具体的二维 ST 表的实现,只需要知道一点: 对于 ,表示的是如图所示的大正方形范围内的最值,它可以拆成从四个小正方形的左端点走 \(2^{t
阅读全文
摘要:题解:序列操作 比较综合的 ds 题,综合了线段树常见的几种操作:维护最大子段和、区间翻转、区间求和、区间覆盖 。 维护子段和常见的我们维护三类东西: 前缀最长连续段、后缀最长连续段、当前区间上的最大子段和。 在 pushUp 时,对于一个区间的前后缀最值首先等于左右子树的最长前后缀,如果填满了一棵
阅读全文
摘要:题目链接:CF 或者 洛谷 一道经典的类型题,把这种类型的题拿出来单独说一下。 注意到问题中涉及到需要维护 这样的信息,这样的信息很难用树型结构维护,比较容易用块级结构维护,我们注意到其实是每次这种步长 的信息很难维护,我们考虑一类特
阅读全文
摘要:题目链接:Yuno loves sqrt technology II 很早以前觉得还挺难的一题。本质就是莫队二次离线,可以参考我这篇文章的讲述莫队二次离线 P5501 [LnOI2019] 来者不拒,去者不追 题解 。 注意到左右两边莫队的端点移动,贡献效果是不一样的: \(r \rightarro
阅读全文
摘要:题目链接:少项式复合幂 注意到题目的模并不是很大,我们考虑两个核心的性质。 ,证明直接代入 进去得到:\(f(f(x))=a_0 \times f^0(x)+a_1\times f^1(x)...
阅读全文
摘要:题目链接:来者不拒,去者不追 直接在线查询题目所给的式子是很困难的,我们考虑单点考察贡献。对于一个已经确定的式子,我们发现加入一个数或者删除一个数的贡献如图所示: 如图所示,在原有的序列为 当中,我们加入新的 进去,我们观察到每个数的贡献的变化是这样,比 \(2\
阅读全文
摘要:题目链接:CF 或者 洛谷 可以看到查询和插入就是李超线段树的基本操作,但在原有基础上多了一个删除操作,李超线段树不支持删除操作,但支持可撤销和可持久化,所以我们容易想到外层再套一个线段树分治即可。本题用可撤销就远远足够了,很好写。 具体的,我们读入所有操作,对于操作一,为当前下标线段读入它的 \(
阅读全文
摘要:题目链接:大工程 先考虑只有一次查询,很显然我们可以暴力树上 dp 处理出答案。 对于每个节点而言,有: 容易看出类似点分治逐个遍历子树计算前面一堆子树对后面子树的贡献思想,我们可以很容易的知道: 对于路径总和,显然多了一段新的贡献,这段贡献为当前关键点和前面点多的一段 号路线长。这段长
阅读全文
摘要:题目链接:路虽远 带限制的 dijkstra,优先考虑有哪些限制条件,当做类似 dp 去写。闯黄灯次数有要求,限制速度的边数量有要求。 我们注意到,如果选择哪些边限速不易于基于贪心选择,可以考虑转换下,边数 限制数即为可以不限速的边,选择不限速的贪心优于限速的,这样一来,我们在有机会选择
阅读全文
摘要:题目链接:曼哈顿交易 比较容易想的题,观察下首先不带修改,考虑维护的东西:次数作为权值,这玩意很显然很难在线维护,考虑下离线算法。看到这种和次数有关的权值,典型的单点加入和删除是非常好找到变化的,那么就莫队离线算法吧。 考虑下莫队如何来做,涉及到权值第 大,解决方法挺多的,但时限容易知道
阅读全文
摘要:题目链接:初始化 这种 ynoi 的老题就是卡常。来简单说说这题的思维切入口。 看到形如 的结构,自然而然思考一下如果我们是暴力更新会有怎么样的效果。我们容易发现,如果 比较大,暴力更新的次数 也不会很大的,但 \(x\
阅读全文
摘要:题目链接:Race 点分治基本题,从这题简单阐述点分治如何思考问题的。点分治常见的解决一类问题,就是树里面的一些路径类问题。比如一些计数是最常见的。 点分治的一个核心计数思想: 如图所见,对于某个点而言,我们将它作为根,那么它的子树并排地排起来,我们依次遍历每棵树并累计树。 我们容易知道,包括这个点
阅读全文
摘要:题目链接:rmscne 神仙经典数据结构难题。看到求区间种类数有关的东西,需要下意识的反应到经典老题 HH的项链,这里可以学习我这篇 题解。具体学习下扫描线怎么做这类东西的。 看看本题,首先处理区间查询问题,而且是这种很复杂的子区间问题。这里的 和 所组成的子区间 \([
阅读全文
摘要:题目链接:洛谷 或者 CF 不是特别难的题,抽象下题意就是算区间次数出现的次数 mex 和带单点修改。看到范围 还带修改,传统的 mex 求法里貌似就莫队类算法好带修,考虑带修莫队。 然而涉及到 mex 问题,你可能不由自主地想到回滚莫队求 mex 只删不加的板子题:P4137 Rm
阅读全文
摘要:题目链接:洛谷 或者 CF 本题考虑转化为 cdq 分治模型 对于 cdq 分治来说,只需要考虑左边对右边的影响,那我们要考虑该怎样设置第一维度的左右对象。很显而易见的是抛开 限制而言,我们着眼于,如何让双方互相看到的严格条件转化为只需要关注单体看见。考虑什么情况下只需要一方看到对方,对
阅读全文
摘要:题目链接:星之河 比较经典的偏序问题。区别于强制在线类算法:树套树之类的,对于偏序问题,我们有许多种优秀的离线算法,比如此篇要讲的 cdq 分治。 它更偏向于一种思想,它的思想使得它对偏序类问题,往往都有一种非常好的效果。首先来看一张图。 这是所有算法入门选手都会接触的归并排序的过程图。我们考虑两个
阅读全文
摘要:题目链接:洛谷 或者 CF 比较朴素的题,首先观察题目条件: 考虑构造题目所说 \[\sum_{i=x_1}^{x_{t
阅读全文
摘要:题目链接:[集训队互测 2018] 完美的队列 神仙数据结构题,看了很多题解才搞懂。在做此题之前,最好对分块很熟悉,对各类标记非常熟练。考虑题意说的种类是相对于全局的。我们可以考虑局部影响对全局影响。 人为规定:在第 时刻,无论队列中还有无元素,我们都把所有队列清空,便于后续的描述
阅读全文
摘要:题目链接:[Cerc2007] robotic sort 机械排序 前置知识点:文艺平衡树 具体的我们会将序号下标作为平衡树的键值,这样一来每个节点其实就是数组中的每个位置,又因为这个位置是具有有序性的,所以我要找某个位置的当前值是可以在树上二分出来的,同时考虑平衡树的一段子树打翻转标记,交换左右子
阅读全文
摘要:题目链接:CF 或者 洛谷 简单来说就是求 这些点都存在的情况下,连通块的数量,看到七秒时限,而且每个点相连的边数很少,可以想到离线下来使用莫队类的算法解决 连通块问题,一般可以考虑使用并查集解决。对于并查集来说,它的增加是非常简单的,但删除是困难的,可持久化并查集时空常数都较大
阅读全文
摘要:题目链接: P8078 [WC2022] 秃子酋长 题目所求较难理解,我们考虑转化下,首先这是个 的排列,而且要求相邻对应的原位置的绝对值最大我们先考虑最简单的一种情况: 的答案。 来看这张我画的丑图。 以样例为例,如果求 的答案,我们
阅读全文
摘要:题目链接: [yLOI2022] 长安幻世绘 比较不错的综合题。考虑下处理极差的绝对值我们应该怎么做,很显然排序是有必要的,我们需要带着下标排序。 考虑几个核心点: 1.假如没有其他限制考虑极差与序列长度有啥关系,很显然长度越长,极差单调不降,具备单调性。 2.考虑对于一个长度为 的连续
阅读全文
摘要:题目链接:P10009 [集训队互测 2022] 线段树 神仙分块题,先给一下出题人的神仙官解: 官解链接 前面还看得懂。后面是啥?这不是 ds 题咋和 dp、轮廓线扯上关系了。看了半天,还是这个启发了我: 其手玩下,在 Excel 里写一下,可以理解到这里其实是想表达的一个核心意思是啥:对于一组序
阅读全文
摘要:题目链接: [Ynoi Easy Round 2024] TEST_133 首先历史最大加,吉司机跑不掉了,维护历史最大加标记以及历史最大,那么根据吉司机标记思想更新操作应该为 新的历史最大值,由原来
阅读全文
摘要:题目链接: [Ynoi Easy Round 2023] TEST_69 首先GCD有比较良好的一些性质。我们观察到一次 操作,会有以下两种变化。 如果 ,那么很显然 ,不会发生任何改变。
阅读全文
摘要:题目链接: P9933 [NFLSPC #6] 9.pop_book(); 先考虑一个最基本的式子: ,很显然的一点是,除了 Alek岁,每个人的运动路程函数写出来都是一条一次函数,斜率为速度 ,而截距暂时无法确定。 我们考虑下 Alek岁 的变化情况。很显
阅读全文
摘要:题目链接:U390630 分考场 本题来自于2019年蓝桥杯国赛的题。在洛谷上也被标为了假题。原因是首先官方在需要输出浮点数的情况下,并没有开启spj,并且官方所给的数据当中,总有一两个数据以不知道到底是怎样的一个算法导致能莫名其妙四舍五入了,保留十位小数也看不出不该四舍五入的理由。并且在很明显的树
阅读全文