随笔分类 -  洛谷题解

洛谷站内题目的题解。
摘要:前言 题目传送门! 更好的阅读体验? 思路 首先随便找一个点作为根。 类似于找直径,Dfs 一下,找到距离这个点权值最远的一个点。 记录一下这个权值,它有可能成为答案。 然后再用这个点作为新的根,再搜索。可以多来几次。 快超时了就输出答案,退出程序。 注意所有检验的根都不能重复,这样效率会更高。 然 阅读全文
posted @ 2023-01-14 15:20 liangbowen 阅读(33) 评论(0) 推荐(1)
摘要:前言 题目传送门! 更好的阅读体验? 一道有趣的题目。 思路 对于一个数 $a_i$,如果有 $a_i \oplus t = x$,显然 $t = a_i \oplus x$。 设 $loc_i$ 表示上一个 $t$ 出现的位置。这个是很容易维护的。 那么对于一组询问 $[l, r]$,如果存在,必 阅读全文
posted @ 2023-01-07 15:38 liangbowen 阅读(452) 评论(0) 推荐(1)
摘要:前言 题目传送门! 更好的阅读体验? 比较简单的最大流基础建图题。 如果认为思路部分过于复杂,可以直接看图。 思路 以下为了方便,我们把 byx 称作 A,把诗乃酱称作 B。 首先发现,人物的唯一限制就是寿命。我们直接以此来建网络即可。 注意到有一个特殊的限制: 当 J 的寿命为 $0$ 时,同一棵 阅读全文
posted @ 2023-01-03 16:48 liangbowen 阅读(59) 评论(0) 推荐(1)
摘要:前言 题目传送门! 更好的阅读体验? 遇到这种博弈论的题目,当然是要打表找规律了! 思路 首先,很容易想到暴力递推。 代码在上方的链接里。然后看几眼就能发现,在大部分情况下,如果 $n$ 是偶数那么 Alice 获胜,否则 Bob 获胜。 再多看几眼,会发现:有些地方 $n$ 是偶数,但是仍然是 B 阅读全文
posted @ 2022-12-23 15:48 liangbowen 阅读(67) 评论(0) 推荐(1)
摘要:前言 题目传送门! 更好的阅读体验? 贪心。内容抄自某校课件。 思路 部分分 这个随便搞都可以,可以二分答案然后建边然后跑二分图最大匹配。 正解 考虑贪心。这里有一个很容易猜到或想到的结论: 将 $a$ 与 $b$ 从小到大排序,直接按位配对($a_i$ 配 $b_i$),就是最优解。 设排序后的数 阅读全文
posted @ 2022-12-18 22:39 liangbowen 阅读(85) 评论(0) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? 最短路应用。内容抄自某校课件。 思路 首先想到题目与最短路有关。 假如 $a$ 到 $b$ 的最短路径长度是 $x$,那么对于一个询问是否存在长度为 $d$ 的路径: 如果 $x$ 和 $d$ 同奇偶,且 $d \ge x$,那么这个长度为 $d$ 的路径一定存 阅读全文
posted @ 2022-12-18 22:19 liangbowen 阅读(152) 评论(0) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? zlt 推荐矩阵加速题目。其实很不算难啊,不就是模拟吗。 思路 首先乘法是不能用矩阵加速直接维护的,考虑答案为 $f_n = c^{k_1} \times f_1^{k_2} \times f_2^{k_3} \times f_3^{k_4}$。 这些都是可以转 阅读全文
posted @ 2022-12-11 18:14 liangbowen 阅读(81) 评论(0) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? 矩阵快速幂优化 DP 经典题。 前置知识:会做简单的 DP、矩阵加速。 题目简述 给定一个长度为 $n$ 的环,每个位置可以填 $1$ 或 $2$。相邻两个不能同时填 $1$。 求方案数。多测。 朴素 DP 思路 看到题目,很容易想到环形 DP。 设 $dp_{ 阅读全文
posted @ 2022-12-02 18:08 liangbowen 阅读(91) 评论(0) 推荐(0)
摘要:前言 题目传送门! 或许更好的阅读体验? 并查集应用。 思路 本题精髓在于:我们可以把箱子与球都看成一个点。 这些点中,一部分指的是箱子,一部分指的是球。 对于操作一,我们合并 $x$ 与 $y$ 对应的箱子编号。此处是将 $y$ 归属于 $x$。 但是,只合并是不行的。例如下图的情景: 我们现在要 阅读全文
posted @ 2022-11-27 09:58 liangbowen 阅读(83) 评论(0) 推荐(1)
摘要:A A 题,送分题。 link。 思路 数据范围很小,其实直接模拟也是可以通过的。 不过我们很容易想到 $O(n)$ 的算法。 对于前 $k$ 个数,不输出,其他数正常输出。 然后再在末尾补上 $k$ 个 $0$。 容易发现,这样也是正确的。只要特判一下 $k \ge n$ 的情况就行了,这个时候全 阅读全文
posted @ 2022-11-21 09:59 liangbowen 阅读(72) 评论(0) 推荐(0)
摘要:前言 题目传送门! 或许更好的阅读体验? 博弈论,状压,记忆化搜索。 思路 看到很小的 $n$,容易联想到状压、搜索。本题就是状压加搜索。 设状态 $x$ 的每一位表示:如果第 $i$ 位是 $0$,则当前数没有被选过。否则已经选过了。 每次 dfs 的时候,记录当前状态,以及上一次选的字符串。 如 阅读全文
posted @ 2022-11-21 09:52 liangbowen 阅读(59) 评论(0) 推荐(0)
摘要:前言 题目传送门! 或许更好的阅读体验? 非常套路的题目,为啥要放在 E。 思路 容易发现,相邻查询的覆盖区间不会差太远。所以考虑用较短的时间处理两个查询。 思路也很容易想到:维护两个操作 add 与 del,支持 $O(1)$ 增加、删除一个数。 void add(int x) { if (!vi 阅读全文
posted @ 2022-11-21 09:42 liangbowen 阅读(43) 评论(0) 推荐(1)
摘要:前言 题目传送门! 更好的阅读体验? 难度加强版:P1253。 思路 很容易想到线段树。维护 $cov_i$ 表示覆盖的懒标记。 单点加与单点查都非常简单。全局覆盖只需要给每一层都打懒标记即可。 对于 pushdown 操作,看是否有 $cov$ 标记,有就先覆盖,再加。 代码 事实上,如果你做过 阅读全文
posted @ 2022-11-21 09:33 liangbowen 阅读(45) 评论(0) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? 第一次写黑题题解 。 计算几何、区间 $\text{DP}$。 思路 我们可以把大多边形分拆成小的多边形来看,并且小的多边形的顶点,在大多边形的顶点的编号是连续的。 所以考虑区间 $\text{DP}$。设 $dp_{i, j}$ 表示用 $[i, j]$ 之间 阅读全文
posted @ 2022-11-17 08:38 liangbowen 阅读(88) 评论(1) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? 非常套路的分层图,纪念赛时切掉了。 思路 我们以样例来解释。首先,这是最基础的图。 我们把图分成两层:第一层是原本 $w = 1$ 的路可以通行,第二层是原本 $w = 0$ 的路可以通行。 连接两层图的边,就是按钮所在的边。为什么呢?因为按一下按钮,边权就会全 阅读全文
posted @ 2022-11-13 10:22 liangbowen 阅读(121) 评论(0) 推荐(0)
摘要:前言 题目传送门! 或许更好的阅读体验? 比较简单的模拟。 思路 首先把 $a_i$ 排序。每次往后一直跑,如果不能再取了,就停下。 但是这样做是 $O(n^2)$ 的。我们需要优化。 优化也很容易想到:假设我们跑完了区间 $[l, r]$,下一个开始的地方其实是 $r + 1$。 有了这个优化,时 阅读全文
posted @ 2022-11-13 10:11 liangbowen 阅读(94) 评论(0) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? 差分约束。 思路 预处理 维护两个数组 $mn_{i, j}$ 与 $mx_{i, j}$,表示砝码 $i$ 与砝码 $j$ 重量差值的最小最大。 我们分类讨论: $i = j$,显然 $mx = mn = 0$。 $a_{i, j}$ 为 =,$mx = mn 阅读全文
posted @ 2022-11-10 08:17 liangbowen 阅读(181) 评论(0) 推荐(0)
摘要:前言 题目:三倍经验。SP9340、UVA436、P1931。 更好的阅读体验? 趣味的 Floyd。 思路 容易发现,套利就是一大堆兑换的数值的成绩。我们希望这个数值大于 $1$。 可以想到,每次把两个兑换名称转化为一个数,然后建边 $a \to b$,边权为汇率 $k$。 题目就是求边权乘积最大 阅读全文
posted @ 2022-10-31 21:57 liangbowen 阅读(41) 评论(0) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? 好的线段树练习题。 思路 我们要维护三个操作: 单点加。 区间推平。 区间查询质数。 区间推平可以想到珂朵莉树,但是我不会,于是考虑线段树。 容易想到,判断质数部分可以预处理。用欧拉筛,这一点不用多说了吧。 为了叙述方便,用 $\operatorname{isp 阅读全文
posted @ 2022-10-31 21:44 liangbowen 阅读(36) 评论(0) 推荐(0)
摘要:前言 题目传送门! 更好的阅读体验? 提供一种更加好理解的方法。 思路 关键点:只要凑够就行,不需要区间数量最小。 首先,每个数是 $-1$ 或 $1$,说明 $n$ 为奇数时,必定无解。 我们看相邻两个数 $a_i$ 与 $a_{i + 1}$:显然有四种可能,$(-1, -1), (-1, 1) 阅读全文
posted @ 2022-10-24 21:28 liangbowen 阅读(41) 评论(0) 推荐(0)