随笔分类 - 杂题乱刷2
摘要:题目链接 CF750F New Year and Finding Roots *2800 解题思路 hint1 考虑将不同的节点类型分类。 hint2 考虑将不同度数的节点分类。 算法 1: 首先我们注意到度数为 \(2\) 的节点为根,于是我们直接 check 每个节点,特别的,可以不用 chec
阅读全文
摘要:题目链接 CF121D Lucky Segments *2500 解题思路 注意到幸运数字数量很少,是 \(2^{18}\) 量级的。 下文设 \(V\) 为 \(2^{18}\)。 那么我们可以先爆搜出所有幸运数字并将这些数字排序,枚举左端点,注意到右端点是否能取值是有单调性的,于是我们可以二分右
阅读全文
摘要:题目链接 CF1996G Penacony 解题思路 考虑把约束都记录到 \(a_i\) 上,\(a_i\) 表示 \(i \sim i + 1\) 受到的约束个数。 那么约束显然可以使用 xor hash 的形式来表示,我们只需要随机一个 \(val\),对于每个约束 \(l,r\),都将 \(a
阅读全文
摘要:感谢 @incra 的讲解。 题目链接 CF2085F2 *2900 解题思路 考虑 F1 做法,发现直接枚举每个数作为中心点即可,只需要维护距离中心点的其余值的最小位置,时间复杂度 \(O(n^2)\)。 然后你可以注意到中心点不一定是中心点,具体的,左右两边数字不一定是平均的,由于这种情况一定是
阅读全文
摘要:题目链接 CF1186F Vus the Cossack and a Graph 解题思路 大家好,我不会欧拉路径,所以讲一下其他做法。 首先我们要有惊人的注意力。 发现若 \(n \ge m\) 时,取所有边即可。 否则首先按照初始度数从小到大开始连边,尽量连成有贡献的边即可,因为这样若每次都达成
阅读全文
摘要:题目链接 CF311D Interval Cubing 解题思路 实际上不难。 注意到特殊的模数,考虑是否会出现循环节。 然后打表发现循环节长度为 \(48\)。 那么我们显然使用分快维护块内乘了几次即可,因为有 \(48\) 的极小循环节。 块长取 \(50\) 显然是优秀的。 参考代码 ll n
阅读全文
摘要:注意到对于每一列或者每一行是有轮换的性质的。 也就是说,对于每行或者每列,字符集的大小为 \(2\)。 然后相同奇偶性的行或列字符集是一致的,且不同奇偶行的行或列的字符集大小为 \(4\)。 于是我们枚举行相同还是列相同,然后枚举行或列选取的字符集即可,代码不是很好写。 参考代码
阅读全文
摘要:题目链接 AT_abc348_g [ABC348G] Max (Sum - Max) 解题思路 考虑对于一个 \(k\) 我们怎么做。 注意到我们可以先把 max 这一维给从小到大排序,然后依次枚举这个 \(b_i\) 并顷定 \(b_i\) 为你选取所有 \(b_i\) 中的最大值,考虑此时如何最
阅读全文
摘要:题目链接 AT_arc122_c [ARC122C] Calculator 解题思路 hint1: 考虑构建斐波那契数列来解决问题。 hint2: 二进制。 hint3: 考虑如何解除后效性。 sol: 首先我们考虑如何构建斐波那契数列。 进行 1,2 操作中的一个,然后交替进行 3,4 操作即可。
阅读全文
摘要:题目链接 AT_arc121_c [ARC121C] Odd Even Sort 解题思路 首先特判 \(n \le 3\) 的情况,这部分直接模拟即可,略过。 对于 \(n > 3\) 的情况,我们直接把 \(4 \sim n\) 这些数字移到后缀,这里次数是 \(\displaystyle\fr
阅读全文
摘要:题目链接 CF444D DZY Loves Strings 解题思路 发现我们只需要预处理每个长度不大于 \(4\) 的字符串所在的区间即可,那么我们实际上需要的字符串是只有 \(4n\) 级别的,下文设 \(4n\) 为 \(m\)。 我们容易发现出现次数 \(> \sqrt{m}\) 的字符串数
阅读全文
摘要:题目链接 P11843 [USACO25FEB] The Best Subsequence G 题意简述 有一个长度为 \(n\) 的初始全为 \(0\) 的数列,现在有 \(m\) 次将 \(l \sim r\) 区间内的所有数字都取反的操作。 有 \(q\) 次询问,每次询问形如 l r x,你
阅读全文
摘要:题目链接 P11830 [省选联考 2025] 幸运数字 解题思路 40pts 考虑直接暴力 check 每个数字 \(x\) 是否能被取到。 有以下贪心方式: 如果根本不可能取到至少一个数字 \(x\),则 \(x\) 不能被取到。 若对于一个可取数字区间有 \(l2 \le x \le r2\)
阅读全文
摘要:更不好的阅读体验 题目链接 CF2069D(*1900) Palindrome Shuffle(luogu) CF2069D(*1900) Palindrome Shuffle(codeforces) 解题思路 本文 \(V\) 代表 \(26\),即字符集大小。 这题是史,大家一起吃。 首先根据题
阅读全文
摘要:题目链接 CF109D Lucky Sorting 2000 (1800) 解题思路 我们考虑现将原序列离散化成排列,此时约束条件严格强于原题目,然后只找一个可以交换的数字,此时约束条件依然强于原题目。 那么此时我们考虑如何操作,设可以操作的数字为 \(id\): 如果此时数字 \(i\) 所在的位
阅读全文
摘要:题目链接 CF1738F Connectivity Addicts 解题思路 我们发现取度数大的点可以建的图显然最优秀,具体原因下面会讲,并且同一个连通块内的节点染成一种颜色一定合法。那么此时我们将所有节点从大到小排序,然后直接暴力建图即可,我们每次询问会存在两种情况,我们设询问到的节点为 \(x\
阅读全文
摘要:题目链接 CF1738E Balance Addicts 解题思路 发现我们可以直接枚举左端点 \(L\),那么此时显然右端点 \(R\) 的取值范围也随之确定,那么此时 \(L\) 能往右移当且仅当 \(L + 1<R\) 与 \(a_{L+1} = 0\),\(R\) 能往左移当且仅当 \(L<
阅读全文
摘要:唐吗?唐的。 题目链接 CF2067C Devyatkino 解题思路 首先注意到答案一定不会大于 \(7\),这点显然,不多说。 那么直接暴力枚举即可,你需要保证每种数字选取次数之和不大于 \(7\),还是暴力即可,时间复杂度 \(O(T \times 7!)\),可以通过此题。 那么为什么只用取
阅读全文
摘要:题目链接 CF2066B Devyatkino (*1600) 解题思路 首先根据题目中的定义,你发现你选取一个没有 \(0\) 的序列是一定合法的,因为此时任意一个前缀 min 都是至少为 \(1\) 的,而任意一个后缀 mex 都为 \(0\),原式一定合法。 其次你发现你选取的子序列中最多只能
阅读全文
摘要:这是一篇口胡题解。 题目链接 CF1896E Permutation Sorting 解题思路 写一个题解区没有的做法。 首先有结论,每个点最多操作 \(n\) 次。 为啥呢?你发现对于一个序列 \(a\),若你执行了 \(n\) 次,此时最多形成一个大小为 \(n\) 的置换环,此时操作 \(n\
阅读全文

浙公网安备 33010602011771号