03 2025 档案
摘要:..D 限时每日一题day24。一道纯数学题,结论非常简单,但还是想再复盘一下推导的过程。 先说结论: \(kind1\) 成立:\(b^{k} \equiv 0 (mod\space n)\) \(kind2\) 成立:\(b^{k} \equiv 1 (mod\space n)\) \(kind
阅读全文
摘要:edu 161D 限时每日一题day23。看了十几分钟感觉只能模拟,看题解后还真是这样。 \(O(n^{2})\) 的链表直接暴力模拟很好想,考虑怎么优化: 优化核心在于在每一轮模拟的过程中,不能直接暴力检查所有仍然存活的怪物,而需要在每一轮中预处理出真正可能在下一轮中被删的怪物集合。 要注意到一个
阅读全文
摘要:925 G 限时每日一题day21。今天的题感觉很思维,拼尽全力无法战胜,看完题解直呼精妙。 需要观察合法摆放序列的性质:一个重要的性质是,拼图1和拼图2在所有合法序列中形成的子序列一定是交替的。因为两个拼图1之间如果没有拼图2,那么必然不合法,同理两个拼图2之间也不能没有拼图1。那么只有当 \(\
阅读全文
摘要:edu 162D 限时每日一题day22。今天做得比较顺。 想吃掉第 \(i\) 个笑脸,无非只有两种可能——从左边吃过来,或者从右边吃过来。而能吃掉 \(a[i]\) 的条件就是最终能合成为一个 \(>a[i]\) 的数。首先观察到,对于左侧或右侧,合成的笑脸必然要构成一个区间(证明略)。一个显然
阅读全文
摘要:927 F 限时每日一题day20。感觉应该自己能做出来的一道题,中途没忍住看题解了,遂以失败告终。 状态定义:\(dp[i]\):考虑前 \(i\) 个位置是否使用,可以覆盖的最大线段数量。 转移:决策是否使用位置 \(i\)。 使用:\(dp[i - 1]\) 不使用:\(dp[L[i] - 1
阅读全文
摘要:926 D 限时每日一题day19。树形 \(dp\),不会qwq... 补了将近3h, 最后看b站讲解才看明白,实在太蒟蒻了。。。 做法在代码注释中写得很清楚,这里就不过多赘述了。下面写一下我对这道题 \(dp\) 状态设计之精妙的总结: 其实这个状态设计我想出来了,但一直在纠结于一个地方——在状
阅读全文
摘要:919 D 限时每日一题day18。看了十几分钟毫无思路,遂来补题。 需要记录两个状态: \(lst[i]\):第 \(i\) 步操作后,序列中的最后一个元素 \(dp[i]\):第 \(i\) 步操作后的序列长度 对于每次询问查询第 \(k\) 个元素,可分为两种情况: 第 \(k\) 个元素是在
阅读全文
摘要:edu159 D 限时每日一题day17。代码量本应很小的一道题,用火箭冲过去了(雾 可以将二维点哈希映射为一个数。这里我用的哈希函数是: \[HASH(x, y) = (2n + 1) x + y \]这样可以保证在 \(x \in [-n,n], y \in [-n,n]\) 范围内的任意 \(
阅读全文
摘要:930 1A 限时每日一题day16。一道比较有意思的思维交互,做出来了。 首先可以确定 \(n-1\) 和某个 \(0到n\) 中的数可以成为答案,且这个最大值为 \(11...11\),其中最高位与 \(n-1\) 的最高位相同。 \(n - 1\) 是序列中的最大值,因此可以通过 \(ask(
阅读全文
摘要:933 G 需要特别注意题目:每种颜色的边一定在同一个联通块中。 做法1:建立虚点 对于同一种颜色的边构成的联通块,两点之间相互到达的代价均为1。那么可以省去原图中所有这种颜色的边,对这种颜色建一个虚拟点,并对该联通块中的每个点 \(u\) 与该虚拟点连一条双向边,其中 \(u\) 到虚拟点的边权为
阅读全文
摘要:edu166 D 限时每日一题day15。第二次自己做出 2000 分的题目。比上次用时更少了,并且感觉这题根本没有2000分。。。 求能取反的区间数量,使得原合法的括号序列经翻转后仍是一个合法括号序列。 不难发现区间内左右括号的数量一定相等。可以将左括号看作1,右括号看作-1。对该数组作前缀和,得
阅读全文
摘要:Global Round 26 D 限时每日一题day14。第一次自己做出 2000 分的题目!虽然用了将近两个小时,写法也比官解麻烦很多,但是很开心 ·w· 官解利用了 \(Zfunc\)(或者哈希也可以)来看子串是否匹配,使得对于每种长度 \(O(n)\) 扫一遍字符串可以跳指针,从而将查找优化
阅读全文
摘要:921 D(数学期望) 一道对于理解期望性质有帮助的好题。 做法1:由于期望是线性的,因此答案的期望值应等于每轮期望值的总和。因此可以模拟整个过程,实时计算每轮的期望值并加和,即为最终经过 \(k\) 轮后的总期望值。初始期望值 \(E(X)=\frac{sum}{C_{n}^{2}}\)。在此后的
阅读全文
摘要:ABC338 F 这道题与传统的旅行商问题并不一样:旅行商问题要求每个点不能重复经过;而本题所求的每个点都可以重复经过。若直接采用旅行商的方法直接状压 \(dp\),是有后效性的,因此需要转换思路。 精妙的发现出来了:虽然点可以重复经过,但可以将这个答案用另一种形式表示,使得表达形式中的每一项均不同
阅读全文
摘要:..K 限时每日一题day13。做得非常顺的一道子序列计数 \(dp\)。个人感觉也是很不错的一道题。 分类讨论:三个数要么都是偶数,要么恰有两个奇数。 都是偶数的情况好计算,主要是恰好两个奇数的情况: 手玩一下可以发现恰有两个奇数的子序列的每三个数形式必须相同(奇偶奇 情况对应 \(1011011
阅读全文
摘要:931C 限时每日一题day12。一道考验脑筋急转弯的交互题,想了半天还想错了。。 这题感觉给我的反思也挺重要的——自己老是愿意往一个不能被证实的想法上去钻,钻了半天以为自己的想法很正确,实际上疏忽了许多细节,感觉这是自己想题会犯的一个最严重的问题。尤其是对于这种细节比较多的题,稍微不想全面些,或者
阅读全文
摘要:932C 限时每日一题day11。这回是思路对了,但不会实现。看完讨论区后才发现这题有个很巧妙的地方,可以避免复杂维护。 不难想到对于所有选择的物品,一定是按照 \(b[i]\) 的大小升序排列是最优的。此时 \(b\) 的贡献为:\(max(b[i]) - min(b[i])\)。 将所有物品按
阅读全文
摘要:E 用 \(BFS\) 进行状态转移 因为相互包含的长回文串与短回文串的中心一定是相同的,可以想到从短回文串同时向两侧扩充相同字符,递推得到更长回文串的状态。而要求的是任意点对中的最短路,很容易想到用 \(BFS\),只不过进行最短路转移时需要注意满足回文串性质。 初始状态有两种:单个点(\(len
阅读全文
摘要:936D 限时每日一题day10。由于今天做的第一题特别 \(easy\),于是直接又开了一道题,果不其然直接落败了qwq... 思路大致是对的——最优划分方式,划分决策都没什么问题。只是在一个地方卡住了(在注释中的感叹号位置)。具体细节见代码。 code
阅读全文
摘要:935F 限时每日一题day9。这次非常顺,可以说是秒了(如果每次都能这样就好了qwq...) 将蘑菇的价值 \(v\) 按照给定的排列 \(p\) 排序,那么要选 \(k\) 个蘑菇时,前 \(k - 1\) 个蘑菇不能选,即等价于只能从第 \(k\) 个蘑菇开始选。 固定选择蘑菇的数量后,只能从
阅读全文
摘要:D 确定好需要维护的信息 由于操作2交换巢中的每个鸽子这一步看着很暴力,因此考虑换一种思路:交换两个巢,这样操作的复杂度是 \(O(1)\) 的。 那么如何维护好信息呢?可以新加一种信息来构建鸽子与巢之间的关系——位置。因为位置是固定不变的,所以可以创建如下数组: \(pigeon[i]\):编号为
阅读全文
摘要:..I 限时每日一题day8。想法太简单了,没做出来纯属自己无能,应该想得更深入一些的。。。 只需要保证这一条关键性质就行:对于任意两个相邻的圆,某一个半径减小,则另一个圆一定增大等长的长度。若能注意到传递性,很容易能想到 圆之间的相邻关系 可以等价于 无向图中两个点用一条无向边相连,因此构建无向图
阅读全文
摘要:943F 限时每日一题day7。忘了在 \(map<vector>\) 上二分的 \(trick\)。大致思路没问题,就差这临门一脚。 先回顾一下在 \(map<vector>\) 上二分的 \(trick\): 原理:存储某个数在给定序列中的所有位置,进而可以通过在对应 \(vector\) 上二
阅读全文