学而思编程周赛-普及奠基组-赛情分析及题解 | 汇总(更新至2026年春第15周)

我把自己练习过的学而思编程周赛的题目都整理了一下。虽然网站上有许多高手的解法,但因为我自己也是初学者,所以只用了比较容易理解的方法来分析和解答。如果你也在学习的话,希望这些内容能对你有一点帮助。


2026年

【2026年春第14周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 蚂蚁碰撞 字符串 / 双指针 去掉前缀 L 和后缀 R(它们不会碰撞),中间非 S 的字符个数即为碰撞次数。
B 最远距离 数学 / 极值 曼哈顿距离 \(|x-x'|+|y-y'|\) 可转化为 \(\max((x+y)_{\max}-(x+y)_{\min}, (x-y)_{\max}-(x-y)_{\min})\)
C 构建回文(二) ⭐⭐⭐ 前缀和 区间能重排成回文当且仅当该区间内出现奇数次的字母个数 \(\le 1\),用 \(26\) 维前缀和统计每个区间的字母频次。

题目

题解:学而思编程 蚂蚁碰撞

题解:学而思编程 最远距离

题解:学而思编程 构建回文(二)

【2026年春第13周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 安全密码 ⭐⭐ DFS-一维 按字典序 \(3 \to 6 \to 9\) 逐位DFS枚举,剪枝跳过禁止组合 \(36\)\(69\)\(93\),计数到第 \(k\) 个时输出。
B 约瑟夫游戏(三) ⭐⭐ 队列 用队列模拟围圈报数,每次将前 \(a_i \bmod \text{size}\) 个人移到队尾,队首即为淘汰者。
C 区间质数 ⭐⭐⭐ 质数筛 + 前缀和 先用埃氏筛预处理 \(10^7\) 内质数,再用前缀和数组 \(s[i]\) 记录前 \(i\) 个数中质数个数,区间查询 \(O(1)\) 回答。

题目

题解:学而思编程 安全密码

题解:学而思编程 约瑟夫游戏(三)

题解:学而思编程 区间质数

【2026年春第12周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 排队 ⭐⭐ 贪心 / 排序 按耐心指数升序排序,依次尝试安排,若当前已安排人数 \(\leq a_i\) 则该学生留下,否则跳过。
B 牛奶供应 ⭐⭐⭐ 递推 / 贪心 维护最小有效价格 \(\text{minp}\),每天选择当天生产或从前某天提前生产(加仓储费),取成本最小者。
C 美食评委 ⭐⭐⭐ 模拟 / 前缀和优化 枚举相同美味值作为首尾,中间只保留正数贡献,用数组记录首次出现时的前缀和,计算最大子段和。

题目

题解:学而思编程 排队

题解:学而思编程 牛奶供应

题解:学而思编程 美食评委

【2026年春第11周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 最长平台(二) 模拟 遍历数列统计连续相同元素的长度,用 \(\text{map}\) 记录每种长度的出现次数,取最大长度及其频次。
B 平衡点 ⭐⭐⭐ 前缀和 预处理前缀和与后缀和,再分别累加得到左右引力 \(L[k]\)\(R[k]\),枚举 \(k\)\(|L[k]-R[k]|\) 最小值。
C 幸运数字 ⭐⭐⭐ 质数筛 + 前缀和 埃氏筛预处理 \(10^7\) 内质数,再标记所有两质数乘积,最后前缀和统计区间 \([L,R]\) 内幸运数字个数。

题目

题解:学而思编程 最长平台(二)

题解:学而思编程 平衡点

题解:学而思编程 幸运数字

【2026年春第10周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 数列调整 模拟 回文数列要求对称位置相等,最小操作次数为所有对称位置 \(|a_i - a_{n-i+1}|\) 之和。
B 回形矩阵 ⭐⭐ 模拟 按顺时针或逆时针方向,用方向数组控制边界转向,依次填入 \(1 \sim n \times m\)
C 气球游戏 ⭐⭐⭐ 双指针 / 滑动窗口 维护包含所有 \(m\) 种颜色的最小窗口,右扩左缩,队首冗余时出队优化。

题目

题解:学而思编程 数列调整

题解:学而思编程 回形矩阵

题解:学而思编程 气球游戏

【2026年春第9周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 最大回撤 模拟 维护前缀最大值 \(\max\_pre[i]\),枚举每一天作为卖出点,求 \(\max(\max\_pre[i] - a_i)\)
B 最大整数(一) ⭐⭐ 自定义排序 将数字按奇偶性分离,各自降序排序后按原位置奇偶性回填,得到最大整数。
C 生活费 ⭐⭐⭐ 逆向思维 / 模拟 从后往前处理操作,记录最后一次整体操作的标准线,单点操作取 \(\max(v_i, \text{max\_line})\),未操作点取 \(\max(p_i, \text{max\_line})\)

题目

题解:学而思编程 最大回撤

题解:学而思编程 最大整数(一)

题解:学而思编程 生活费

【2026年春第8周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 数组推导 模拟 \(b_i\) 为前缀最大值,\(a_i\) 最大时取 \(b_i\) 本身,最小时只在 \(b_i\) 首次出现时取 \(b_i\) 其余取 \(0\)
B 九宫格键盘 字符串 / 模拟 预存每个字母在九宫格上的按键次数,遍历字符串累加,空格计 \(1\) 次。
C 区间外最大公约数 ⭐⭐⭐ 前缀GCD + 后缀GCD 预处理前缀 \(\gcd\) 数组 \(\text{lgcd}[i]\) 和后缀 \(\gcd\) 数组 \(\text{rgcd}[i]\),查询时 \(\gcd(\text{lgcd}[l-1], \text{rgcd}[r+1])\)

题目

题解:学而思编程 数组推导

题解:学而思编程 九宫格键盘

题解:学而思编程 区间外最大公约数

【2026年春第7周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 中心位置 模拟 / 前缀和 计算前缀和数组,枚举每个位置 \(k\),判断左侧和 \(s[k-1]\) 是否等于右侧和 \(s[n]-s[k]\)
B 驼峰与蛇 字符串 / 模拟 遍历字符串,大写字母前加下划线转小写,下划线后字母转大写,其余直接输出。
C 分组 ⭐⭐ 模拟 对每个 \(0\) 位置向左右扫描,更新非 \(0\) 元素到最近 \(0\) 的距离,取最小值。

题目

题解:学而思编程 中心位置

题解:学而思编程 驼峰与蛇

题解:学而思编程 分组

【2026年春第6周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 优秀的排列 字符串 / 模拟 遍历字符串检查:无相邻 \(1\);每个 \(0\) 两边至少有一个 \(1\)(首尾特判)。
B 降雨统计 模拟 乌云以每分钟 \(1\) 格向右移动,每个位置降雨时间为该位置左侧(含自身)的乌云数。
C 三倍子串 ⭐⭐⭐ 递推 / DP \(\text{dp}[i][r]\) 表示以 \(s[i]\) 结尾、数字和模 \(3\)\(r\) 的子串数,根据当前位模 \(3\) 的值转移。

题目

题解:学而思编程 优秀的排列

题解:学而思编程 降雨统计

题解:学而思编程 三倍子串

【2026年春第5周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 奇特的数 数学 矩阵中 \(a_{ij} = i \times j\)\(m\) 出现次数等于满足 \(i \times j = m\)\(1 \le i,j \le n\) 的因子对 \((i, m/i)\) 个数。
B 海龟作图 模拟 维护方向 \(dir\)\(0\)\(1\)\(2\)西 \(3\)南),按指令旋转或移动,注意 R 是顺时针(代码中 \(dir+3\))、L 是逆时针(代码中 \(dir+1\))。
C Z字形加密 ⭐⭐ 字符串 / 模拟 按 Z 字形将字符放入 \(k\) 行,方向在首尾行翻转,最后按行拼接输出密文。

题目

题解:学而思编程 奇特的数

题解:学而思编程 海龟作图

题解:学而思编程 Z字形加密

【2026年春第4周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 截断数组 模拟 / 前缀和 计算前缀和,枚举分割点 \(i\),判断左侧和 \(\text{sum}[i]\) 是否等于右侧和 \(\text{sum}[n]-\text{sum}[i]\)
B 最小消耗 ⭐⭐ 贪心 / 模拟 对每个怪兽独立决策:形态 \(0\)\(\min(a, b+c)\),形态 \(1\)\(\min(b, a+c)\),分别消灭或改造后消灭。
C 特殊数字 \(2\) ⭐⭐ 字符串 / 模拟 用字符串存储大数,逐位取模判断能否被每个非零数码整除,避免直接对大数取模。

题目

题解:学而思编程 截断数组

题解:学而思编程 最小消耗

题解:学而思编程 特殊数字2

【2026年春第3周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 斐波那契字符串 递推 / 模拟 生成不超过 \(n\) 的斐波那契数列,标记对应位置,斐波那契数输出 O,其余输出 o
B 跑车与旅行 模拟 每到一个城市加满油,若下段距离超过油箱容量则无法到达,否则累加加油花费。
C 阶梯求和 ⭐⭐ 前缀和 预处理普通前缀和 \(\text{sum1}[i]\) 与加权前缀和 \(\text{sum2}[i]\),查询时公式转化为 \(\text{sum2}[r]-\text{sum2}[l-1]-(l-1)\times(\text{sum1}[r]-\text{sum1}[l-1])\)

题目

题解:学而思编程 斐波那契字符串

题解:学而思编程 跑车与旅行

题解:学而思编程 阶梯求和

【2026年春第2周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 唯一最小数 模拟 / 计数 统计每个数字出现次数,找出只出现一次的数中最小值的索引,不存在则输出 \(-1\)
B 解密 字符串 / 模拟 统计连续相同字符个数 \(k\),原始字符为加密字符减去 \((k-1)\) 的偏移(循环取模 \(26\))。
C 懒惰的牛 ⭐⭐ 前缀和 / 滑动窗口 将草地按坐标离散化后前缀和,枚举每个位置作为中心,计算覆盖范围 \([i-k, i+k]\) 内的青草总量取最大值。

题目

题解:学而思编程 唯一最小数

题解:学而思编程 解密

题解:学而思编程 懒惰的牛

【2026年春第1周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 三角形牧场 ⭐⭐⭐ 01背包 / DFS \(n\) 根木板分配到三条边,枚举所有分配方案(DFS)或用三维DP判断能否构成三角形,海伦公式求最大面积。
B 疯狂的科学家 字符串 / 模拟 统计 \(A\)\(B\) 不同的连续段数,每段可用一次操作翻转,答案即为不同段的数量。
C 更奇怪的照片 ⭐⭐ 数学 / 贪心 统计奇偶数量,通过合并两个奇数为偶数调整比例,使奇偶交替排列的组数最大化。

题目

题解:学而思编程 三角形牧场

题解:学而思编程 疯狂的科学家

题解:学而思编程 更奇怪的照片

posted @ 2026-06-24 17:08  团爸讲算法  阅读(22)  评论(0)    收藏  举报