合集-题解散记1

摘要:题目链接: P9933 [NFLSPC #6] 9.pop_book(); 先考虑一个最基本的式子: \(x=v \times t\),很显然的一点是,除了 Alek岁,每个人的运动路程函数写出来都是一条一次函数,斜率为速度 \(v\),而截距暂时无法确定。 我们考虑下 Alek岁 的变化情况。很显 阅读全文
posted @ 2024-01-01 23:49 Athanasy 阅读(120) 评论(0) 推荐(1)
摘要:题目链接:U390630 分考场 本题来自于2019年蓝桥杯国赛的题。在洛谷上也被标为了假题。原因是首先官方在需要输出浮点数的情况下,并没有开启spj,并且官方所给的数据当中,总有一两个数据以不知道到底是怎样的一个算法导致能莫名其妙四舍五入了,保留十位小数也看不出不该四舍五入的理由。并且在很明显的树 阅读全文
posted @ 2024-01-01 16:54 Athanasy 阅读(384) 评论(0) 推荐(1)
摘要:题目链接: [Ynoi Easy Round 2023] TEST_69 首先GCD有比较良好的一些性质。我们观察到一次 \(GCD(a_i,x)\) 操作,会有以下两种变化。 如果 \(x \bmod a_i == 0\),那么很显然 \(\gcd(a_i,x)==a_i\),不会发生任何改变。 阅读全文
posted @ 2024-01-02 11:09 Athanasy 阅读(176) 评论(0) 推荐(0)
摘要:题目链接: [Ynoi Easy Round 2024] TEST_133 首先历史最大加,吉司机跑不掉了,维护历史最大加标记以及历史最大,那么根据吉司机标记思想更新操作应该为 \[new \Leftarrow \max{(h_{max},a_i+h_{addMax})} \]新的历史最大值,由原来 阅读全文
posted @ 2024-01-02 11:56 Athanasy 阅读(69) 评论(0) 推荐(1)
摘要:题目链接:P10009 [集训队互测 2022] 线段树 神仙分块题,先给一下出题人的神仙官解: 官解链接 前面还看得懂。后面是啥?这不是 ds 题咋和 dp、轮廓线扯上关系了。看了半天,还是这个启发了我: 其手玩下,在 Excel 里写一下,可以理解到这里其实是想表达的一个核心意思是啥:对于一组序 阅读全文
posted @ 2024-01-02 17:44 Athanasy 阅读(211) 评论(0) 推荐(0)
摘要:题目链接: [yLOI2022] 长安幻世绘 比较不错的综合题。考虑下处理极差的绝对值我们应该怎么做,很显然排序是有必要的,我们需要带着下标排序。 考虑几个核心点: 1.假如没有其他限制考虑极差与序列长度有啥关系,很显然长度越长,极差单调不降,具备单调性。 2.考虑对于一个长度为 \(L\) 的连续 阅读全文
posted @ 2024-01-02 23:44 Athanasy 阅读(42) 评论(0) 推荐(0)
摘要:题目链接: P8078 [WC2022] 秃子酋长 题目所求较难理解,我们考虑转化下,首先这是个 \(1 \sim n\) 的排列,而且要求相邻对应的原位置的绝对值最大我们先考虑最简单的一种情况:\([1,n]\) 的答案。 来看这张我画的丑图。 以样例为例,如果求 \([1,n]\) 的答案,我们 阅读全文
posted @ 2024-01-03 10:24 Athanasy 阅读(126) 评论(0) 推荐(2)
摘要:题目链接:[Cerc2007] robotic sort 机械排序 前置知识点:文艺平衡树 具体的我们会将序号下标作为平衡树的键值,这样一来每个节点其实就是数组中的每个位置,又因为这个位置是具有有序性的,所以我要找某个位置的当前值是可以在树上二分出来的,同时考虑平衡树的一段子树打翻转标记,交换左右子 阅读全文
posted @ 2024-01-04 02:40 Athanasy 阅读(66) 评论(0) 推荐(0)
摘要:题目链接:[集训队互测 2018] 完美的队列 神仙数据结构题,看了很多题解才搞懂。在做此题之前,最好对分块很熟悉,对各类标记非常熟练。考虑题意说的种类是相对于全局的。我们可以考虑局部影响对全局影响。 人为规定:在第 \(m+1\) 时刻,无论队列中还有无元素,我们都把所有队列清空,便于后续的描述 阅读全文
posted @ 2024-01-04 23:08 Athanasy 阅读(82) 评论(0) 推荐(1)
摘要:题目链接:洛谷 或者 CF 比较朴素的题,首先观察题目条件: \[ i-n \le a_i \le i-1 \Rightarrow 1 \le i-a_i \le n \text{,所以易知 } i-a_i \text{ 必定是某一点} \]考虑构造题目所说 \[\sum_{i=x_1}^{x_{t 阅读全文
posted @ 2024-01-05 09:59 Athanasy 阅读(102) 评论(0) 推荐(1)
摘要:题目链接:星之河 比较经典的偏序问题。区别于强制在线类算法:树套树之类的,对于偏序问题,我们有许多种优秀的离线算法,比如此篇要讲的 cdq 分治。 它更偏向于一种思想,它的思想使得它对偏序类问题,往往都有一种非常好的效果。首先来看一张图。 这是所有算法入门选手都会接触的归并排序的过程图。我们考虑两个 阅读全文
posted @ 2024-01-05 14:00 Athanasy 阅读(45) 评论(0) 推荐(1)
摘要:题目链接:rmscne 神仙经典数据结构难题。看到求区间种类数有关的东西,需要下意识的反应到经典老题 HH的项链,这里可以学习我这篇 题解。具体学习下扫描线怎么做这类东西的。 看看本题,首先处理区间查询问题,而且是这种很复杂的子区间问题。这里的 \(l'\) 和 \(r'\) 所组成的子区间 \([ 阅读全文
posted @ 2024-01-07 21:16 Athanasy 阅读(93) 评论(1) 推荐(3)
摘要:题目链接:Race 点分治基本题,从这题简单阐述点分治如何思考问题的。点分治常见的解决一类问题,就是树里面的一些路径类问题。比如一些计数是最常见的。 点分治的一个核心计数思想: 如图所见,对于某个点而言,我们将它作为根,那么它的子树并排地排起来,我们依次遍历每棵树并累计树。 我们容易知道,包括这个点 阅读全文
posted @ 2024-01-08 12:15 Athanasy 阅读(62) 评论(0) 推荐(1)
摘要:题目链接:初始化 这种 ynoi 的老题就是卡常。来简单说说这题的思维切入口。 看到形如 \(y+k \times x\) 的结构,自然而然思考一下如果我们是暴力更新会有怎么样的效果。我们容易发现,如果 \(x\) 比较大,暴力更新的次数 \(\dfrac{n}{x}\) 也不会很大的,但 \(x\ 阅读全文
posted @ 2024-01-09 12:31 Athanasy 阅读(70) 评论(0) 推荐(1)
摘要:题目链接:曼哈顿交易 比较容易想的题,观察下首先不带修改,考虑维护的东西:次数作为权值,这玩意很显然很难在线维护,考虑下离线算法。看到这种和次数有关的权值,典型的单点加入和删除是非常好找到变化的,那么就莫队离线算法吧。 考虑下莫队如何来做,涉及到权值第 \(k\) 大,解决方法挺多的,但时限容易知道 阅读全文
posted @ 2024-01-10 01:16 Athanasy 阅读(68) 评论(0) 推荐(1)
摘要:题目链接:序列 对于 LIS 问题,很显而易见的有 dp方程为: \[dp_i=\max{dp_j}+1 \ (j<i,a_j \le a_i) \text{ dp表示以某个位置结尾的最长 LIS} \]本题考虑到对于转移的两位置,如果能从 \(j \rightarrow i\),那么在以上条件成立 阅读全文
posted @ 2024-01-10 17:15 Athanasy 阅读(36) 评论(0) 推荐(1)
摘要:题目链接:路虽远 带限制的 dijkstra,优先考虑有哪些限制条件,当做类似 dp 去写。闯黄灯次数有要求,限制速度的边数量有要求。 我们注意到,如果选择哪些边限速不易于基于贪心选择,可以考虑转换下,边数 \(-\) 限制数即为可以不限速的边,选择不限速的贪心优于限速的,这样一来,我们在有机会选择 阅读全文
posted @ 2024-01-11 00:01 Athanasy 阅读(70) 评论(0) 推荐(0)
摘要:题目链接:大工程 先考虑只有一次查询,很显然我们可以暴力树上 dp 处理出答案。 对于每个节点而言,有: 容易看出类似点分治逐个遍历子树计算前面一堆子树对后面子树的贡献思想,我们可以很容易的知道: 对于路径总和,显然多了一段新的贡献,这段贡献为当前关键点和前面点多的一段 \(2\) 号路线长。这段长 阅读全文
posted @ 2024-01-11 12:02 Athanasy 阅读(98) 评论(0) 推荐(0)
摘要:题目链接:来者不拒,去者不追 直接在线查询题目所给的式子是很困难的,我们考虑单点考察贡献。对于一个已经确定的式子,我们发现加入一个数或者删除一个数的贡献如图所示: 如图所示,在原有的序列为 \((1,2,3)\) 当中,我们加入新的 \(2\) 进去,我们观察到每个数的贡献的变化是这样,比 \(2\ 阅读全文
posted @ 2024-01-14 11:34 Athanasy 阅读(95) 评论(0) 推荐(0)
摘要:题目链接:少项式复合幂 注意到题目的模并不是很大,我们考虑两个核心的性质。 \(f(f(x)) \bmod p=f(f(x) \bmod p) \bmod p\),证明直接代入 \(f(x)\) 进去得到:\(f(f(x))=a_0 \times f^0(x)+a_1\times f^1(x)... 阅读全文
posted @ 2024-01-14 12:22 Athanasy 阅读(40) 评论(0) 推荐(0)
摘要:题目链接:Yuno loves sqrt technology II 很早以前觉得还挺难的一题。本质就是莫队二次离线,可以参考我这篇文章的讲述莫队二次离线 P5501 [LnOI2019] 来者不拒,去者不追 题解 。 注意到左右两边莫队的端点移动,贡献效果是不一样的: \(r \rightarro 阅读全文
posted @ 2024-01-15 13:38 Athanasy 阅读(64) 评论(0) 推荐(0)
摘要:题解:序列操作 比较综合的 ds 题,综合了线段树常见的几种操作:维护最大子段和、区间翻转、区间求和、区间覆盖 。 维护子段和常见的我们维护三类东西: 前缀最长连续段、后缀最长连续段、当前区间上的最大子段和。 在 pushUp 时,对于一个区间的前后缀最值首先等于左右子树的最长前后缀,如果填满了一棵 阅读全文
posted @ 2024-01-16 20:03 Athanasy 阅读(119) 评论(0) 推荐(0)
摘要:题目链接:理想的正方形 比较明显的,我们可以用二维 ST 表解决,具体的二维 ST 表的实现,只需要知道一点: 对于 \(st[i][j][t]=max(i \sim i+2^t,j \sim j+2^t)\),表示的是如图所示的大正方形范围内的最值,它可以拆成从四个小正方形的左端点走 \(2^{t 阅读全文
posted @ 2024-01-17 10:41 Athanasy 阅读(87) 评论(0) 推荐(0)
摘要:题目链接:Fountain 很不错的基础算法组合题:单调栈+倍增 首先考虑到一个事实,就是下面第一个比当前半径大的位置会成为移动的第一次落脚点,抽象下就是下面出现的第一次比自身大的半径,这个问题显然可以单调栈轻松解决。 第二个点就是我们知道了单次移动的第一个位置,现在问你多次移动到的位置,并且还要保 阅读全文
posted @ 2024-01-17 16:47 Athanasy 阅读(76) 评论(0) 推荐(0)
摘要:题目链接:作业 其实可以类似“HH的项链”转化为偏序问题再 cdq 分治。不过这题感觉莫队然后值域分块很好写啊,基本不用动脑。 考虑查询的两个信息: \(a \le x\le b\) 的 \(x\) 的个数。 \(a \le x \le b\) 的 \(x\) 的种类。 考虑优化莫队插入和查询复杂度 阅读全文
posted @ 2024-01-18 13:53 Athanasy 阅读(63) 评论(0) 推荐(0)
摘要:题目链接:ZAB-Frog 基于一个根据距离第 \(k\) 大的事实: 容易知道,对于红色的点而言,与它相近最近的 \(k\) 个点是连续的。而第 \(k\) 远的要么是最左侧要么是最右侧。而我们注意到原数组是升序,那么考虑红色点往右走到新的位置,这些蓝色单点整天有什么影响: 左边的点离它更远了。 阅读全文
posted @ 2024-01-18 16:13 Athanasy 阅读(77) 评论(0) 推荐(0)
摘要:题目链接:死去的 Elo 突然开始攻击我 容易知道,如果暴力对某个区间而言进行查询,我们可以考虑使用并查集,开一个桶,每次添加一个数 \(val\),那么如果已经存在了 \(val-1\) 或者 \(val+1\) ,我们可以考虑合并 \(val\) 与 \(val-1\) 或者 \(val+1\) 阅读全文
posted @ 2024-01-18 23:59 Athanasy 阅读(92) 评论(0) 推荐(0)
摘要:题目链接:[Ynoi Easy Round 2021] TEST_152 题目比较抽象,翻译一下。就是有 \(n\) 个操作,每个操作为 \((l_i,r_i,v_i)\) 表示把长为 \(m\) 序列 \(a\) 的 \([l_i,r_i]\) 上的数覆盖为 \(v_i\)。而查询为 \([tim 阅读全文
posted @ 2024-01-19 23:43 Athanasy 阅读(93) 评论(0) 推荐(1)
摘要:题目链接:Intrinsic Interval 讲讲析合树如何解决这种问题,其实这题很接近析合树的板题的应用。 增量法进行析合树建树时,需要用 ST 表预处理出 \(max\) 和 \(min\) 以便 \(O(1)\) 查询极差,然后线段树去维护 \([l,r]\) 上的极差减区间端点做差即 \( 阅读全文
posted @ 2024-01-20 18:17 Athanasy 阅读(59) 评论(0) 推荐(0)
摘要:两道基本一样的题: 题目链接: P2757 [国家集训队] 等差子序列 Permutation 链接:CF 或者 洛谷 等差子序列那题其实就是长度不小于 \(3\) 的等差数列是否存在,我们考虑等于 \(3\) 的是否存在就行,因为等于 \(3\) 长度的都不存在,更长的就不可能了,然后多了一个多测 阅读全文
posted @ 2024-01-23 20:54 Athanasy 阅读(57) 评论(0) 推荐(0)
摘要:题目链接:洛谷 或者 蓝桥杯 或者 C语言中文网 几个OJ的AC记录: 忘了哪个OJ的: 洛谷: C语言中文网: 蓝桥杯: emmmmmmm,好像每个OJ给的时限和空间还不一样,蓝桥杯官方还给了 $3s$ 和 $2G$, C语言中文网机子比较老可能,挺卡常的,开了个究极快读和指令集就过去了,也可以自 阅读全文
posted @ 2024-01-25 16:18 Athanasy 阅读(277) 评论(0) 推荐(0)
摘要:题目链接:[LMXOI Round 1] Size 挺有意思的诈骗题,其实这类题都喜欢披一个外壳,例如数据范围提示之类的。记得以前遇到的很多诈骗题,有一道 cf 的高分题,问的是区间出现次数的次数 \(mex\),这玩意一开始感觉好难,出现次数还简单,还要考虑次数的次数,所以带修莫队的时候,一直没法 阅读全文
posted @ 2024-01-29 17:47 Athanasy 阅读(63) 评论(0) 推荐(0)
摘要:题目链接:可乐 一开始想着 0-1 Trie,枚举 \(x\) 去写,然后判断就行了。然后想起南京区域赛的 C 题,其实和这个也有点大同小异的感觉,可以用更朴素的办法,找到对于一个 \(a_i\) 而言,满足题意的所有 \(x\) 去 \(+1\)。这玩意很容易办到的,稍微讨论下: 类似 0-1 T 阅读全文
posted @ 2024-01-29 23:07 Athanasy 阅读(74) 评论(0) 推荐(0)
摘要:题目链接:冰红茶 比较有意思的套路题(前提是接触过) 首先,一个最基本的线段树包含两种操作的板子要会,分别为区间赋值与区间加,同时维护区间最值。这个挺简单的,区间赋值优先级高于区间加,可以将区间加覆盖为 \(0\) 以后再进行加就行了。其实就是这个题:P1253 扶苏的问题。 看到操作 \(2\) 阅读全文
posted @ 2024-02-01 21:17 Athanasy 阅读(203) 评论(5) 推荐(5)
摘要:题目链接:美好的每一天 经典题,这种字符串重排以后回文,优先考虑异或操作。考虑对一个字符串状态压缩,每个字符表示为 \(1<<(c-97)\),然后将它们异或起来就可以得到一个字符串的状态压缩情况。 考虑每一位异或情况,如果为偶数个单个字符则为 \(0\),奇数则为 \(1\),注意可以重排,那么当 阅读全文
posted @ 2024-02-04 23:40 Athanasy 阅读(34) 评论(0) 推荐(1)
摘要:题目链接:帕鲁大陆迷路的一天 前置弱化版:P3604 美好的每一天 题解 一个非常简单的普通莫队解很容易写出来,具体的看我前置弱化版题解,然而这个复杂度高达 \(O(26n\sqrt{q})\),显然无法通过强化版。 一种看上去很正确的 “假解” 我们思考如何去掉这个 \(26\),我们猜想: 能够 阅读全文
posted @ 2024-02-06 13:46 Athanasy 阅读(85) 评论(0) 推荐(1)
摘要:题目链接: GOSICK 前置知识点:莫队二次离线、根号分治、调和级数 我的评价是逆天题,不愧为 \(Ynoi\) 第十四分块,拥有这些前置知识点可以让你比较快的思考出本题正解,然而本题独特的空间限制,逼迫你写出更多卡常细节代码。 好多人搞了两个数组单独处理特判,其实莫得必要的。先说一点常识性的东西 阅读全文
posted @ 2024-02-07 00:55 Athanasy 阅读(60) 评论(0) 推荐(0)
摘要:题目链接:充满了希望 一开始以为是传统老题,结果看到有个交换单修操作,ODT 这题试了下,应该 \(fake\) 了,毕竟有单修,很难保证之前的 \(log\) 级复杂度。有些较为智慧的解法确实不好思考,说个很简单的做法,这里没有问颜色数,而是问的颜色具体情况,那就比之前的很多题简单太多了。颜色的具 阅读全文
posted @ 2024-02-11 00:33 Athanasy 阅读(120) 评论(0) 推荐(0)
摘要:题目链接:列队 半年前 mark 的题,结果现在一下子就会做了。顺便写写我的手玩过程和复杂度说明。 考虑比较特殊的情况: 比较特殊的,发现从黑色到红色区间我们无论咋选择,由于 \(\left| a_{right}-a_{left}\right|\),这玩意如果 \(right\) 表示红色的一边,那 阅读全文
posted @ 2024-02-12 22:58 Athanasy 阅读(44) 评论(0) 推荐(0)
摘要:题目链接:P5350 序列 与 P5586 序列 加强版 比较不难的可持久化文艺平衡树? 有道弱化版:数组操作 不过弱化版没有随机数据,很显然 ODT 会直接被卡,这题数据随机倒是能用 ODT 做一下,而且码量也比较小,可以自己写写,或者参照我给的弱化版我给了这题部分操作的 ODT 写法。我们还是来 阅读全文
posted @ 2024-02-13 20:44 Athanasy 阅读(181) 评论(0) 推荐(0)
摘要:题目链接:采花 这题数据加强到卡了 \(2e6\) 的可持久化线段树在线做法,先给只 tle 了最后一个点的代码: 卡常参照代码 #include <bits/stdc++.h> // #pragma GCC optimize(2) // #pragma GCC optimize("Ofast,no 阅读全文
posted @ 2024-02-14 21:43 Athanasy 阅读(142) 评论(0) 推荐(0)
摘要:题目链接:MET-Meteors 看完第一反应头大,第二反应整体二分完全能做。站在整体二分的视角思考问题,要先清楚一点,本题哪个是修改,哪个是查询。显然一开始给的 \(n\) 个数的容量,为需要查询的操作,而 \(k\) 场流星雨即为修改操作。然后第二步观察查询是否具有单调性,显然是有的,第 \(i 阅读全文
posted @ 2024-02-16 00:17 Athanasy 阅读(40) 评论(0) 推荐(0)
摘要:题目链接:动态逆序对 常见经典题,理解一个数对逆序对贡献计算即可。 对于一个数而言,它在一个序列中的逆序对有两部分贡献,一部分为前面比它严格大的数,另一部分为后面比它严格小的数,有道二莫题也是基于此去考虑的。 考虑最开始知道了总逆序数,每次删除一个数逆序数会减少两部分值,显然就是上述说的两部分值,那 阅读全文
posted @ 2024-02-16 21:49 Athanasy 阅读(81) 评论(0) 推荐(0)
摘要:题目链接:维护数列 比较不好码的题,首先确保自己会一种文艺平衡树的书写,这点因人而异,比较推荐初学者学 \(fhq\) 平衡树,坑比较少,比较好码,写平衡树合并、持久化类的题时,也比较好写。注意到空间需求比较大,还涉及删除,我们的删除用各种树类数据结构中最常用的回收标记用于新的节点开辟。 对于添加一 阅读全文
posted @ 2024-02-17 16:03 Athanasy 阅读(80) 评论(0) 推荐(0)
摘要:题目链接:逛森林 很早就想写写倍增优化建图,尤其是这题,奈何之前知识点没点够,本题线段树优化建图要优一些,不再赘述,没注意 \(m\) 是 \(1e6\),挂了 \(n\) 多发才发现。后续再详细讲解倍增优化建图,这里简述本题做法。 倍增优化建图其实和线段树优化建图恰不多的思想,为倍增求 \(LCA 阅读全文
posted @ 2024-02-21 23:38 Athanasy 阅读(79) 评论(0) 推荐(0)
摘要:题目链接:分散层叠算法 比较妙的东西,在很多涉及到若干个有序块的 \(kth\) 查询的 ynoi 题中都有妙用。这里简单提提。 两种暴力解法在其他文章已有涉及,在此不再赘述。讲讲具有该怎么写这个算法,首先我们需要预处理出新的 \(k\) 个序列,不妨记每个为 \(M_i\)。\(M_{n}=L_n 阅读全文
posted @ 2024-02-22 16:47 Athanasy 阅读(81) 评论(0) 推荐(1)
摘要:题目链接:忘情 大概是本题为数不多的李超树解法,凸包显然太经典,不再赘述。 有道差不多的弱化版题:Atcoder Educational DP Contest 题解 的 \(z\) 题,也就是最后一题,差不多的区间 dp 使用凸优化斜率 dp,不过那题我也是李超树写的,比较喜欢李超树。凸优化参照它人 阅读全文
posted @ 2024-02-23 00:42 Athanasy 阅读(172) 评论(0) 推荐(1)
摘要:题目链接:排队 水紫,\(n\) 不大,树套树或者分块都能做。分块的话,最优序列分块套套值域分块最优。观察到是可差性问题维护,即权值数量维护,那我们就 树状数组套权值线段树 即可。由于 \(n\) 不大,我们可以不用回收标记,直接数组空间开大点就行。我们预处理出初始逆序对,每一次操作都是基于它的差分 阅读全文
posted @ 2024-02-25 22:44 Athanasy 阅读(101) 评论(0) 推荐(1)
摘要:题目链接:拦截导弹 约定: 本题中提到的 \(LDS\) 和 \(LIS\) 不是严格单调,而是非严格单调,即为 \(\le 或者 \ge\)。 比较神奇的题,问的东西比较多,我们逐渐拆分: 对于第一个问题而言,这个 dp 方程是很好写的: \[dp[i]=\max{dp[j]}+1 (i<j,h[ 阅读全文
posted @ 2024-02-28 23:38 Athanasy 阅读(66) 评论(0) 推荐(0)
摘要:题目链接:镜中的昆虫 经典题了,我们首先回顾下颜色数的常见做法统计: 对每个位置维护一个 \(pre_i\),表示与当前位置相同的颜色上一次出现位置。那么我们分讨一下。 查询 \([l,r]\) 得到颜色数,对于 \(pre_i<l\) 的 \(i\) 点,显然它就是这个区间内 \(a_i\) 对应 阅读全文
posted @ 2024-03-01 18:57 Athanasy 阅读(96) 评论(0) 推荐(1)
摘要:题目链接:影魔 首先,考虑 \(n^2\) 枚举是很好思考的,贡献类的题大多数是从 \(n^2\) 的暴力思考 有效贡献点 的特征。 考虑本题问的两种贡献与什么有关,顺便说说我自己的思考吧。一开始简单扫了一眼以为是偏序问题计数,结果发现还有个区间询问限制,那么我们先解决区间询问限制:不带修?那就扫描 阅读全文
posted @ 2024-03-06 17:23 Athanasy 阅读(81) 评论(0) 推荐(1)
摘要:题目链接:列队 这题的正解真技巧性,平衡树和线段树做法不再赘述,主要来讲讲这个离线的树状数组倍增是怎么玩的,感觉很妙蛙种子。 简单回顾 回顾几个简单知识点: 权值树状数组如何找第 \(k\) 大,直接树状数组上倍增找到 \(\sum cnt \le k-1\) 的最大值,而这个 \(\sum cnt 阅读全文
posted @ 2024-03-13 00:02 Athanasy 阅读(118) 评论(0) 推荐(1)
摘要:洛谷题目链接:排序 abc题目链接:Atcoder 或者 洛谷 两道差不多的题拿出来说说。本题有双 \(\log\) 做法,也有单 \(\log\) 做法,都讲讲。 双 \(\log\) 做法 对于第一个题而言,询问最终 \(pos\) 位置上的数为多少,那么这个问题是否具有单调性?这个是很有意思的 阅读全文
posted @ 2024-03-15 22:34 Athanasy 阅读(69) 评论(0) 推荐(1)
摘要:题目链接:Count on a tree 大概可以认为是树上主席树的板子 我在之前的某些题解提到了,主席树一般来说有两个基本功能: 可持久化功能,可以选择回退或者新增版本。 对于可差性问题,可以有更好的转化为前缀和做法,常见的问题为权值类型问题。 在树上的路径第 \(k\) 大,显然如果我们能拿到这 阅读全文
posted @ 2024-03-17 11:27 Athanasy 阅读(46) 评论(0) 推荐(1)
摘要:题目链接:森林 有意思的树上可持久化线段树变形题,建议先看这个:P2633 Count on a tree 题解 对于本题而言,我们重新阐述树上可持久化线段树的核心思想,对于点路径/边路径上的第 \(k\) 大问题,我们使用树上前缀和问题的思想,将其转化为可差性问题:一条路径上的权值线段树可以拆分为 阅读全文
posted @ 2024-03-17 13:57 Athanasy 阅读(54) 评论(0) 推荐(1)
摘要:题目链接:园丁的烦恼 挺经典的题目,转化成二维数点去做 这玩意和常规的偏序计数问题有区别: 转化为求 \(a \le x \le b \ \&\& \ c \le y \le d\) 的数量,这种就别想着拆来拆去了,这种权值类带偏序计数类问题,是经典的可差性问题,我们计:\(ans(x,l,r)\) 阅读全文
posted @ 2024-03-17 15:28 Athanasy 阅读(93) 评论(0) 推荐(2)
摘要:题目链接:校园网Network of Schools 这个题得翻译下题目意思才知道在干嘛,题目一开始表明了这个是一个有向图,因为边是单向的。其次关于第一个问题: 基于一个事实,如果有 \(x \rightarrow y \rightarrow z\),那么只需要 \(x\) 接受协议,它所在的 \( 阅读全文
posted @ 2024-03-17 17:08 Athanasy 阅读(55) 评论(0) 推荐(1)
摘要:题目链接:数颜色 经典题目了,暴力数据结构随便过,不过这种不带修的单个颜色的数量查找有个经典的做法:分桶+二分。具体的为每个颜色分桶,记录有序下标,这样就可以二分出 \([l,r]\) 上的下标个数。对于一次交换来说,如果相邻的颜色相同那么并不会发生交换,如果不同那么就发生交换,由于下标在桶里,我们 阅读全文
posted @ 2024-03-17 19:50 Athanasy 阅读(65) 评论(0) 推荐(1)
摘要:题目链接:序列 挺神仙的好题 关于时间维上的贡献处理,之前做过一些类似的题,这题是很不错的体现题。 对于一个数的查询来说,我们暴力地看看它的变化: 时间维有个很重要的特点,当前时间点的修改只会影响后续的所有时间点。对于某个时间点 \(i\),如果它的修改 \([l,r]+val\) 包括了 \(po 阅读全文
posted @ 2024-03-18 18:23 Athanasy 阅读(105) 评论(0) 推荐(3)
摘要:题目链接:Gty的妹子序列 关于莫队的一些教程 类似题教学 关于本题,重新提一下关于普通莫队最优块长,在教学当中提到了每次移动为 \(B\) 大小,一共会移动 \(q\) 次,那么复杂度为 \(qB\),我们考虑取块长为 \(\frac{n}{\sqrt{q}}\),那么我们可以得到最佳复杂度为:\ 阅读全文
posted @ 2024-03-22 16:45 Athanasy 阅读(44) 评论(0) 推荐(1)
摘要:题目链接:符卡对决 视频讲解 经典的题目,对于这个 \([l,r]\) 询问,我们先关注期望怎么算。 考虑方案总数和有效的和,方案总数显然有 \(\dfrac{n\times (n-1)}{2}\),现在还需要关注有效和,我们关注对于若干个有效的关系用一个比较形象的数据结构表示 并查集,那么两个卡牌 阅读全文
posted @ 2024-03-23 21:10 Athanasy 阅读(39) 评论(0) 推荐(1)
摘要:题目链接:最长异或路径 看到树上路径问题,且是异或和这种,先思考树上前缀和转化为前缀和问题。如果我们预处理出 \(pre[curr]\) 表示 \(curr\) 这个点到根的前缀异或值,那么很显然我们路径的两个点 \(u\) 与 \(v\) 的 \(pre[u]\oplus pre[v]\) 和传统 阅读全文
posted @ 2024-04-06 16:54 Athanasy 阅读(68) 评论(0) 推荐(1)
摘要:题目链接:P4587 [FJOI2016] 神秘数 题解 先不考虑下标限制,考虑以下性质: 按 \(a_i\) 大小排序,考虑如果当前能得到的集合为 \([1,x]\),并且考虑可以组成它的集合为: \(S_i=\{a_1,a_2,a_3,...a_i\}\),记 \(sum_i=\sum\limi 阅读全文
posted @ 2024-04-17 15:08 Athanasy 阅读(74) 评论(0) 推荐(1)
摘要:题目链接:Fusion tree 大部分人貌似用的边权 01 Trie,实际这题用点权 01 Trie 类似文艺平衡树去写更方便。 考虑两种常见的区间维护: 线段树。使用的是父节点信息是归并了左右区间的信息,适用于不需要考虑父节点的贡献的信息。 文艺平衡树。每个点就是一个信息,归并左右子树,外加当前 阅读全文
posted @ 2024-04-19 14:15 Athanasy 阅读(83) 评论(0) 推荐(1)
摘要:题目链接:P10604 BZOJ4317 Atm 的树 简单点分树题。我们考虑第 \(k\) 大问题常见的两种做法: 树上二分。 二分 \(+\) check。 显然这题由于有若干个点对应的路径关系,并不太好用前者,我们不可能为某个点经过的所有路径都建立一棵权值线段树,然后再权值线段树上二分,因为路 阅读全文
posted @ 2024-07-04 01:14 Athanasy 阅读(80) 评论(0) 推荐(0)