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

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


2026年

【2026年春第14周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 乘积最大 ⭐⭐⭐ 贪心 将数码降序排序后循环分配到三个数,调整使三数差值最小(和固定时差小积大),补 \(0\) 情况特判。
B 智能饭盒 ⭐⭐⭐ 01背包(二维) \(f[j][k]\) 表示凑出至少 \(j\) 克脂肪、\(k\) 克蛋白质的最少食物数,逆序枚举实现01背包,答案为 \(f[x][y]\)

题目

题解:学而思编程 乘积最大

题解:学而思编程 智能饭盒

【2026年春第13周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 二元函数 ⭐⭐ 数学 / 双指针 遍历 \(a\),维护 \(b\) 使 \(f(a,b) \ge n\),双指针找满足条件的最小 \(f(a,b)\)
B 在两个数列之间 ⭐⭐⭐ 线性DP-一维 \(f[i][j]\) 表示第 \(i\) 位选 \(j\) 的方案数,前缀和优化转移,满足 \(a_i \le j \le b_i\) 且非递减。

题目

题解:学而思编程 二元函数

题解:学而思编程 在两个数列之间

【2026年春第12周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A vs怪物5 ⭐⭐⭐ 完全背包 将魔法视为可无限选取的物品,\(a_i\) 为体积、\(b_i\) 为代价,求达到至少 \(H\) 体积的最小代价。
B 点菜 ⭐⭐⭐⭐ 01背包变体 前缀DP + 后缀DP预处理,枚举每道菜作为最后点的菜,分配剩余时间给前后两部分。

题目

题解:学而思编程 vs怪物5

题解:学而思编程 点菜

【2026年春第11周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 买一送一 ⭐⭐⭐ 完全背包变体 按价格排序预处理 \(maxd[i]\)(价格小于 \(p_i\) 的最大美味度),完全背包转移时收益为 \(d_i + maxd[i]\)
B 假币购物 ⭐⭐⭐⭐ 完全背包 + 01背包 第一阶段完全背包求制造每种面值假币的最小成本,第二阶段01背包在预算 \(W\) 内选商品最大化总价格。

题目

题解:学而思编程 买一送一

题解:学而思编程 假币购物

【2026年春第10周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 汽车变速 ⭐⭐⭐ 线性DP-一维 \(f[i][j]\) 表示第 \(i\) 秒速度为 \(j\) 时的最大路程,枚举前一秒速度 \(k \in [j-d, j+d]\) 转移,答案为 \(f[t][v_2]\)
B 购买模型 ⭐⭐⭐ 线性DP-一维 \(dp[i]\) 表示以第 \(i\) 个模型结尾的最长合法序列,枚举 \(i\) 的所有因子 \(j\)\(j < i\)\(s_j < s_i\))转移,取 \(\max(dp[j]+1)\)

题目

题解:学而思编程 汽车变速

题解:学而思编程 购买模型

【2026年春第9周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 删除一个元素 ⭐⭐ 线性DP-一维 正向DP求以 \(i\) 结尾的最大子段和 \(f[i]\),反向DP求以 \(i\) 开头的最大子段和 \(g[i]\),枚举删除位置取 \(\max(f[i-1]+g[i+1], f[i-1], g[i+1])\)
B 火灾 ⭐⭐⭐ 01背包 按截止时间 \(d_i\) 升序排序,01背包逆序枚举时间上限为 \(d_i-1\),求截止时间前能获得的最大价值。

题目

题解:学而思编程 删除一个元素

题解:学而思编程 火灾

【2026年春第8周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 真因数之和 ⭐⭐⭐ 01背包 / 筛法预处理 筛法预处理每个数的真因数,计数型01背包求和为 \(n\) 的方案数,每个真因数只能使用一次。
B 热气球升空 ⭐⭐⭐ 01背包(最值型) 物品成本 = 重量 \(w_i\) + 体积成本 \(v_i \times c\),求凑出体积 \(j\) 的最小成本,找成本不超过 \(m\) 的最大体积。

题目

题解:学而思编程 真因数之和

题解:学而思编程 热气球升空

【2026年春第7周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 倍数序列2 ⭐⭐⭐ 线性DP-二维 \(dp[i][j]\) 表示长度为 \(i\)、结尾为 \(j\) 的序列数,枚举 \(j\) 的因数 \(k\) 转移,\(dp[i][j] += dp[i-1][k]\)
B 幸运密码 模拟 枚举所有 \(1000\) 种三位数密码,用 find 依次检查每位数字是否在字符串中按顺序出现。

题目

题解:学而思编程 倍数序列2

题解:学而思编程 幸运密码

【2026年春第6周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 素数加法算式 ⭐⭐ DFS-一维 枚举每个位置是否插入加号,计算所有分割方案的和,判断是否为素数。
B 变种走格子问题 ⭐⭐⭐ 线性DP-一维 \(dp[i]\) 表示到第 \(i\) 格的方法数,前缀和优化区间转移,\(dp[i] = \sum_{j=1}^{k} (s[i-L_j] - s[i-R_j-1])\)

题目

题解:学而思编程 素数加法算式

题解:学而思编程 变种走格子问题

【2026年春第5周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 简单除法问题 ⭐⭐ 高精度 高精度整数除法计算 \(n/m\),结果对 \(10007\) 取模;或直接用字符串逐位取模技巧。
B 折半与最小值 ⭐⭐⭐⭐ 整数二分 二分答案 \(x\),检查每根木棒能否分割成至少 \(n+m\) 段且每段长度 \(\ge x\),贪心计算每根木棒最多可分多少段。

题目

题解:学而思编程 简单除法问题

题解:学而思编程 折半与最小值

【2026年春第4周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 射击王 ⭐⭐⭐⭐ 整数二分 二分答案 \(mid\),计算每个气球最晚开始时间 \(t_i = (mid - h_i) / s_i\),排序后检查是否满足 \(t_i \ge i-1\)
B 展览会 ⭐⭐⭐⭐ 整数二分 二分答案 \(mid\),贪心验证:按位置排序后从左到右选价值 \(\ge mid\) 且间距 \(\ge D\) 的画,检查能否选够 \(m\) 幅。

题目

题解:学而思编程 射击王

题解:学而思编程 展览会

【2026年春第3周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 买整数 ⭐⭐ 整数二分 二分答案 \(n\),检查 \(a \times n + b \times d(n) \le x\) 是否成立,\(d(n)\)\(n\) 的位数,找最大可行的 \(n\)
B 数列分段3 ⭐⭐⭐ 线性DP-一维 \(dp[i]\) 表示前 \(i\) 个元素最多分多少段,枚举分割点 \(j\),若区间 \([j+1,i]\) 平均数 \(\le k\)\(dp[i] = \max(dp[i], dp[j]+1)\)

题目

题解:学而思编程 买整数

题解:学而思编程 数列分段3

【2026年春第2周】

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A vs怪物4 ⭐⭐ 记忆化搜索 递归计算消灭体力为 \(x\) 的怪物所需攻击次数,\(f(x) = 2 \cdot f(\lfloor x/2 \rfloor) + 1\),用 map 存储已计算结果避免重复。
B 我们不喜欢WA ⭐⭐⭐⭐ 线性DP-二维 预处理三位组合合法性矩阵,\(dp[i][b][c]\) 表示长度为 \(i\)、最后两位为 \(b,c\) 的合法序列数,枚举前一位 \(a\) 转移。

题目

题解:学而思编程 vs怪物4

题解:学而思编程 我们不喜欢WA

【2026年春第1周】

参考链接:学而思编程每周练习赛-第01周-习题视频讲解与试题分析

赛情分析

题号 题目名称 难度 考察算法 一句话思路总结
A 重新涂色 ⭐⭐ BFS-二维 从起点BFS求到终点的最短路径,答案为总白格数减去最短路径长度(路径上的白格必须保留,其余可涂黑)。
B 六面世界3 ⭐⭐⭐ DFS-二维 / 连通分量 六边形网格有 \(6\) 个方向,坐标偏移后DFS/BFS遍历所有黑色格子,统计连通分量个数。

题目

题解:学而思编程 重新涂色

题解:学而思编程 六面世界3

posted @ 2026-06-25 14:10  团爸讲算法  阅读(21)  评论(0)    收藏  举报