随笔分类 -  算法题解

摘要:ARC194C 首先把所有的物品分类,可以得到四种不同的种类: \(0 \to 0\),不用管 \(0 \to 1\),需要变为 \(1\) \(1 \to 0\),需要变为 \(0\) \(1 \to 1\),有两种情况: 不改变 \(1 \to 0 \to 1\) 因此,考虑一个显然的贪心,从大 阅读全文
posted @ 2025-03-12 08:47 YipChip 阅读(27) 评论(0) 推荐(0)
摘要:比赛难度挺高,但是很启发人的思维,这才是优质的题目,最终赛时只切了两道题,不过对我而言我觉得满足了。 C题 由题不难得出,双面牌要么改变牌组的奇偶性,要么不改变,也就是说,问题的关键在于双面牌。 只有一张双面牌的时候,我们容易看出,第一个拿到双面牌的人可以决定后面剩下的牌是奇数张还是偶数张,因此拿到 阅读全文
posted @ 2025-03-10 21:17 YipChip 阅读(48) 评论(0) 推荐(0)
摘要:题链 P1552 [APIO2012] 派遣 左偏树板子题,每个节点存储一个忍者集合的大根堆,保证和小于等于 \(M\) 的情况下忍者数量最多,每次向父亲合并计算一次答案,最后取 \(\max\) 即可,复杂度 \(O(n\log{n})\)。 参考代码 #include<bits/stdc++.h 阅读全文
posted @ 2025-03-04 16:18 YipChip 阅读(17) 评论(0) 推荐(0)
摘要:题链 P3261 [JLOI2015] 城池攻占 题面太长就不复述了,这是一道左偏树的题目,经过简要分析,我们得知对于一个骑士来说,他所走的路径是唯一且单调的,因此我们可以考虑通过拓扑序来遍历。 对于每个点维护一个左偏树,存储当前节点的骑士的参数,那么一个节点的骑士可以由若干子节点的左偏树合并而来。 阅读全文
posted @ 2025-03-03 19:27 YipChip 阅读(21) 评论(0) 推荐(0)
摘要:I. Good Partitions 非预期解,思考方式和官解完全不同,所以写一个题解供参考。 题面就不复述了,上面链接里有,直接看题解。 不妨考虑映射到 \([a_0, a_1, a_2, \ldots, a_{n - 1}]\),我们划分为长为 \(k\) 的段时,每个段可以被描述为 \([a_ 阅读全文
posted @ 2024-12-11 21:32 YipChip 阅读(101) 评论(0) 推荐(1)
摘要:CF2045H - Missing Separators 题面 您有一本字典,它是按字母顺序排列的多个单词的列表。每个单词都由大写英文字母组成。 您想打印这本字典。然而,打印系统出现了一个错误,列表中的所有单词都紧挨着打印,单词之间没有任何分隔符。现在,您最终得到的字符串 \(S\) 是字典中所有单 阅读全文
posted @ 2024-12-07 14:23 YipChip 阅读(39) 评论(0) 推荐(0)
摘要:CF2045G - X Aura 题面 ICPC 山可以表示为由 \(R\) 行(编号从 \(1\) 到 \(R\) )和 \(C\) 列(编号从 \(1\) 到 \(C\) )组成的网格。位于第 \(r\) 行和第 \(c\) 列的单元格表示为 \((r, c)\) ,高度为 \(H_{r, c} 阅读全文
posted @ 2024-12-07 13:55 YipChip 阅读(27) 评论(0) 推荐(0)
摘要:P9142 [THUPC 2023 初赛] 欺诈游戏 题面 这个游戏名叫《走私游戏》。游戏规则大概是这样的:一名玩家扮演走私者,一名玩家扮演检察官。走私者可以将 \(x\) 日元(\(x\) 为 \([0,n]\) 内的整数,由走私者决定)秘密放入箱子中,而检查官需要猜测箱子中的金额。假设检察官猜了 阅读全文
posted @ 2024-12-05 16:27 YipChip 阅读(88) 评论(0) 推荐(0)
摘要:题链:CF2045F - Grid Game 3-angle *3000?可能没这么难,不过不妨碍他是一个神仙题,巴什博奕变种。 题目描述的已经很清楚了,就不复述一次了。 题解摘抄自原文。 令 \(a_i\) 表示所有 \((x, y)\) 满足 \(x \equiv i \pmod {k + 1} 阅读全文
posted @ 2024-12-05 11:25 YipChip 阅读(46) 评论(0) 推荐(0)
摘要:``P3750 [六省联考 2017] 分手是祝愿 题面 Zeit und Raum trennen dich und mich. 时空将你我分开。 B 君在玩一个游戏,这个游戏由 \(n\) 个灯和 \(n\) 个开关组成,给定这 \(n\) 个灯的初始状态,下标为从 \(1\) 到 \(n\) 阅读全文
posted @ 2024-12-03 18:38 YipChip 阅读(23) 评论(0) 推荐(0)
摘要:CF1778D - Flexible String Revisit 题面 给出两个长度均为 \(n(n\leq 10^6)\) 的 01 串 \(S\) 和 \(T\) 每次随机将 \(S\) 中的某一位取反 问:第一次 \(S = T\) 时操作次数的期望 题解 成环期望的小 \(\text{tr 阅读全文
posted @ 2024-12-03 17:18 YipChip 阅读(27) 评论(0) 推荐(1)
摘要:又来到我们最喜欢的数论环节了。 题面 纳特兰地区由 \(n\) 座城市组成,每座城市的吸引力值为 \(a_i\) 。从城市 \(i\) 到城市 \(j\) 之间存在一条有向边,当且仅当 \(i < j\) 和 \(\gcd(a_i, a_j)\neq 1\) ,其中 \(\gcd(x, y)\) 表 阅读全文
posted @ 2024-11-29 17:48 YipChip 阅读(33) 评论(0) 推荐(0)
摘要:CF2039E - Shohag Loves Inversions 题面 有一个整数数组 \(a = [0, 1]\),可以重复执行以下操作任意多次: 假设 \(k\) 是当前数组 \(a\) 中的逆序对的个数。 将 \(k\) 插入 \(a\) 中的任意位置,包括开头或结尾。 例如,如果是 \(a 阅读全文
posted @ 2024-11-28 12:41 YipChip 阅读(55) 评论(0) 推荐(0)
摘要:B - Symmetric Painting 很启发的题目,考虑每次绘画的点。 Alice 绘画 \(-x\) 点。 Bob 绘画 \(2K - x\) 点。 按顺序绘画 \(0, 2K, -2K, 4K, -4K, 6K, -6K, \ldots\),由于模 \(n\) 的完全剩余系在互质的乘法中 阅读全文
posted @ 2024-11-26 08:46 YipChip 阅读(27) 评论(0) 推荐(0)
摘要:因为和题解有所区别,所以写一发题解增长见识。 题面 B. Make It Equal 给你一个大小为 \(n\) 的整数数组 \(a\) 。数组元素的编号从 \(1\) 到 \(n\) 。 您可以执行以下任意次数的操作(可能为 0 次):从 \(1\) 到 \(n\) 中选择一个索引 \(i\) ; 阅读全文
posted @ 2024-11-20 23:31 YipChip 阅读(94) 评论(0) 推荐(0)
摘要:题面 K.Match 给定长度为 \(n\) 的两个序列 \(a\) 和 \(b\),当且仅当 \(a_i \oplus b_j \ge k\) 时,\(a_i\) 与 \(b_j\) 连一条双向边,其中 \(\oplus\) 表示 XOR 运算。对于 \([1, n]\) 范围内的每个 \(x\) 阅读全文
posted @ 2024-11-19 10:32 YipChip 阅读(158) 评论(0) 推荐(0)
摘要:Link: The Median of the Median of the Median 考虑二分答案,对中位数进行二分,每次去判断是否比中位数大即可。 我们钦定了一个中位数 \(x\),对于 \(\{a\}\) 数组,若 \(a_i \ge x\),则令 \(a_i = 1\),否则 \(a_i 阅读全文
posted @ 2024-11-10 23:16 YipChip 阅读(54) 评论(0) 推荐(0)
摘要:Link: Permutation Counting 4 我的评价是神题,给出两种做法。 方法一 利用线代技巧。 设法构造矩阵 \(A\), 其中 \(A_{ij} = [j \in [l_i, r_i]]\),对所有排列 \(p\),所有的合法答案的数量以下式表示: \[\sum_{p}\prod 阅读全文
posted @ 2024-11-10 21:57 YipChip 阅读(150) 评论(0) 推荐(0)
摘要:T1 好数 设ctz(x)为x二进制下末尾0的个数,如ctz(1001000)=3。 设ppc(x)为x二进制下1的个数,如ppc(1001000)=2。 定义一个数是好数,当且仅当ctz(x)=ppc(x)。 给定Q,有Q次询问,每次给出区间[l,r],你需要求出[l,r]中任意一个好数,或判断无 阅读全文
posted @ 2024-10-31 21:38 YipChip 阅读(144) 评论(0) 推荐(0)
摘要:题面 给你一个长度为 \(n\) 的数组 \(a\) 和一个长度为 \(m\) 的数组 \(b\) (所有 \(1 \le i < m\) 满足 \(b_i > b_{i+1}\) )。最初, \(k\) 的值是 \(1\) 。您的目标是通过重复执行这两种操作中的一种,使数组 \(a\) 为空: \ 阅读全文
posted @ 2024-10-27 15:53 YipChip 阅读(42) 评论(0) 推荐(0)