瑞学堂八月模拟赛题解

很荣幸能参与瑞学堂组织的八月模拟赛,这场赛事为备战CSP-J和CSP-S的同学们提供了一次宝贵的实战演练机会。我结合官方题解的思路与个人解题代码,对赛题做了一些整理和分析,希望能抛砖引玉,与同学们一起交流探讨、共同进步。由于个人水平有限,分析中难免有疏漏或理解不到位之处,欢迎大家批评指正。

附上官网链接:复盘补题通道开启,专属报告免费领!瑞学杯8月第一轮模拟赛圆满结束


基础组

题目来源 标题 难度 星级 考察算法 一句话思路总结
瑞学堂 [[徐老师的阶乘计算器]] 直接模拟 按阶乘定义从 \(2\)\(n\) 累乘,初始化 res=1 自然覆盖 \(0!\) 边界,时间复杂度 \(O(T \cdot n)\),空间复杂度 \(O(1)\)
瑞学堂 [[徐老师的零食分享队列]] ⭐⭐ 队列模拟 用队列维护朋友排队顺序,每次队首出队加上 \(a_i\) 后入队尾,模拟 \(n\) 轮分享后输出队列,时间复杂度 \(O(n+k)\),空间复杂度 \(O(k)\)
瑞学堂 [[徐老师的团队活动]] ⭐⭐⭐ 排序 + 贪心枚举 \(a_i\) 排序后枚举老鼠人数 \(x\),贪心选择前 \(x\) 小当老鼠,只需验证边界 \(a_x < x < a_{x+1}\),时间复杂度 \(O(n \log n)\),空间复杂度 \(O(n)\)
瑞学堂 [[徐老师的连续正整数和]] ⭐⭐⭐ 数学推导 + 枚举优化 利用等差数列公式 \(n = i \cdot a + \frac{i(i-1)}{2}\) 枚举长度 \(i\),判断 \(n - \frac{i(i-1)}{2}\) 能否被 \(i\) 整除,时间复杂度 \(O(\sqrt{n})\),空间复杂度 \(O(1)\)

入门组

题目来源 标题 难度 星级 考察算法 一句话思路总结
瑞学堂 瑞瑞的环形花坛 ⭐⭐⭐ 环形转线性 + 滑动窗口 将环形数组复制翻倍后用双指针维护长度不超过 \(\lfloor n/2 \rfloor\) 的窗口,计数数组统计不同种类数,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
瑞学堂 徐老师的二进制加法 ⭐⭐⭐ 高精度二进制 + 进位链模拟 倒序存储二进制数,每次加 \(2^k\) 时模拟从第 \(k\) 位开始的进位链(连续 \(1\)\(0\) 直到第一个 \(0\)\(1\)),统计变化位数,时间复杂度均摊 \(O(1)\) 每次,空间复杂度 \(O(n)\)
瑞学堂 [[瑞瑞的无限副本]] ⭐⭐⭐⭐ BFS + 副本偏移环检测 在种子地图上BFS,记录到达每个位置的副本偏移量,若同种子位置出现不同偏移则存在无限循环,统计可达空地数为种类数,时间复杂度 \(O(nm)\),空间复杂度 \(O(nm)\)
瑞学堂 瑞瑞的水果挑选 ⭐⭐⭐⭐ 双端队列 + 分块模拟 将连续同种水果分块后用双端队列存储,每轮从各块队尾取元素输出,取完后合并相邻同种块并压缩编号,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
瑞学堂 [[瑞瑞的装备强化]] ⭐⭐⭐⭐ 排序 + 前缀和 + 贪心枚举 将装备初始等级排序后枚举单件/批量分界点 \(i\),前缀和 \(O(1)\) 计算单件花费,批量花费为 \(m(t-v_i)\),取最小总花费,时间复杂度 \(O(n \log n)\),空间复杂度 \(O(n)\)
瑞学堂 [[瑞瑞的魔法背包]] ⭐⭐⭐⭐⭐ 01背包 + 单调队列优化 将下标差约束转化为滑动窗口,对每个重量维护单调递减队列实现 \(O(1)\) 转移,时间复杂度 \(O(N \cdot M)\),空间复杂度 \(O(N \cdot M)\)

提高组

题目来源 标题 难度 星级 考察算法 一句话思路总结
瑞学堂 瑞瑞的会议安排 ⭐⭐⭐⭐ 排序 + 前缀/后缀贪心 + 枚举分界 按结束时间排序后,预处理前缀和后缀各自的最优不重叠会议数,枚举两段分界点取最大和,时间复杂度 \(O(n \log n)\),空间复杂度 \(O(n)\)
瑞学堂 瑞瑞的能源网络 ⭐⭐⭐⭐⭐ DFS + 反悔贪心 + 大根堆 DFS计算往返损耗后将部门参数化为(门槛,消耗),按门槛升序遍历,用大根堆维护已选任务实现替换优化,时间复杂度 \(O(n + m \log m)\),空间复杂度 \(O(n + m)\)
瑞学堂 瑞瑞的体力回收路径 ⭐⭐⭐⭐⭐ 状态扩展 Dijkstra 将体力作为状态维度,用二维 Dijkstra 求 \((u,s)\) 的最短通行时间,转移时处理体力非负约束和上限截断,时间复杂度 \(O(mH \log(nH))\),空间复杂度 \(O(nH)\)
瑞学堂 瑞瑞的字符统计 ⭐⭐⭐⭐⭐ Manacher + 二阶差分 Manacher求回文半径后,用二阶差分标记每个中心的三角形覆盖贡献,两次前缀和还原各位置覆盖次数,统计字母出现次数后除以2去重,时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
瑞学堂 瑞瑞的基因编译 ⭐⭐⭐⭐⭐ 序列 Splay + 双哈希 + 懒标记翻转 用 Splay 树维护序列顺序,每个节点维护正向/反向哈希,通过哨兵提取区间实现 \(O(\log n)\) 的单点修改、区间翻转和回文查询,时间复杂度 \(O((n+q)\log n)\),空间复杂度 \(O(n)\)
瑞学堂 瑞瑞的符文神树 ⭐⭐⭐⭐⭐ 树形DP + 区间DP + 最大次大值合并 以根建立有根树,用 \(down[u][l][r]\)\(up[u][l][r]\) 记录从 \(u\) 向下/向上匹配 \(b[l..r]\) 的最长链,子树合并时用最大次大值保证简单路径,时间复杂度 \(O(nK^2 \cdot \deg)\),空间复杂度 \(O(nK^2)\)
posted @ 2026-08-07 16:38  团爸讲算法  阅读(3)  评论(0)    收藏  举报