CSP-J 历年真题题单
整理 CSP-J 入门级第二轮全国真题,按年份和题号顺序排列。
CSP-J 历年真题题单
本题单整理 CSP-J 入门级第二轮全国真题。目前收录 2019 到 2025 年,每年 4 题,共 28 题。
说明:
- 只收录 CSP-J 全国统一题,不收录江西、山东等地方题。
- 每年按正式比赛顺序列出
T1到T4。 - 建议训练时整年限时完成,再按题目复盘。
2019 CSP-J
- 前置训练:P1046 陶陶摘苹果
- 训练目的:先做最基础的遍历统计,再处理字符串中字符数量统计。
- 前置训练:P1540 机器翻译、P2058 海港、P1059 明明的随机数
- 训练目的:先掌握队列模拟、过期清理和桶计数,再做公交换乘的优惠券维护。
- 前置训练:U613136 买卖股票的最佳时机 II、P1048 采药、P1616 疯狂的采药
- 训练目的:先理解相邻两天价格差为正才值得买卖的股票模型,再掌握 0/1 背包和完全背包,最后理解“每天滚动做完全背包”。
- 前置训练:P1746 离开中山路、P1443 马的遍历
- 训练目的:先补 BFS/最短路,再理解奇偶分层最短路。
2020 CSP-J
- 前置训练:不需要专门前置;先讲清楚二进制位权。
- 训练目的:理解二进制拆分和按位构造。
- 前置训练:P1059 明明的随机数、P1097 统计数字
- 训练目的:先掌握桶计数和排名统计,再处理动态获奖线。
- 前置训练:P1449 后缀表达式、P1981 表达式求值
- 训练目的:先会用栈求值和表达式解析,再理解表达式树与影响传播。
- 前置训练:P1216 数字三角形、P1002 过河卒
- 训练目的:先熟悉网格/路径 DP,再学习列内两次扫描的状态转移。
2021 CSP-J
- 前置训练:P1177 排序模板、P1097 统计数字
- 训练目的:先理解排序和排名统计,再看稳定排序二元组。
- 前置训练:P1055 ISBN 号码、P1553 数字反转
- 训练目的:练字符串解析、格式校验和细节分类讨论。
- 前置训练:P1996 约瑟夫问题、P1160 队列安排、P1540 机器翻译、P2058 海港
- 训练目的:先用约瑟夫问题感受环形链表删除,再用队列安排掌握双向链表操作,然后用机器翻译和海港练队列/滑动维护,最后做连续块模拟。
2022 CSP-J
- 前置训练:P1226 快速幂模板
- 训练目的:先掌握快速幂,再注意乘法过程中的上限截断。
- 前置训练:P2440 木材加工、P1029 最大公约数和最小公倍数问题
- 训练目的:先练二分边界和数论等式变形,再做二次方程判别式。
- 前置训练:P1739 表达式括号匹配、P1981 表达式求值、P7073 表达式
- 训练目的:先掌握表达式栈、解析和短路求值,再处理逻辑表达式统计。
- 前置训练:P1216 数字三角形、P1103 书本整理、P1020 导弹拦截
- 训练目的:练排序后 DP、点列转移和带资源限制的状态设计。
2023 CSP-J
- 前置训练:P1909 买铅笔、P3817 小A的糖果
- 训练目的:练前缀需求、最小值贪心和整数升数。
- 前置训练:P1075 质因数分解、P1888 三角函数、P1029 最大公约数和最小公倍数问题
- 训练目的:先掌握 gcd 约分、平方因子拆分和输出格式模拟。
- 前置训练:P4779 单源最短路径标准版、P5663 加工零件
- 训练目的:先补 Dijkstra 和状态最短路,再理解模 k 状态。
2024 CSP-J
- 前置训练:P1059 明明的随机数
- 训练目的:练去重计数和布尔桶。
- 前置训练:P1563 玩具谜题、P1746 离开中山路
- 训练目的:先做方向模拟和网格 visited,再处理地图探险流程。
- 前置训练:P1012 拼数、P1094 纪念品分组、P7071 优秀的拆分
- 训练目的:先做拼数热身数字构造贪心,再用纪念品分组训练简单贪心选择,最后做小木棍的逐位贪心构造和剩余可行性判断。
- 前置训练:P1057 传球游戏、P1896 互不侵犯、P1123 取数游戏
- 训练目的:先用传球游戏理解轮次 DP,再用互不侵犯训练状态压缩,最后做接龙的轮次状态转移和只保留关键历史。
2025 CSP-J
- 前置训练:P1059 明明的随机数、P1012 拼数
- 训练目的:练数字桶计数和从大到小构造。
- 前置训练:P1097 统计数字、P1563 玩具谜题
- 训练目的:先掌握排名统计和蛇形坐标换算。
- 前置训练:P1114 非常男女计划、P1803 线段覆盖、P1059 明明的随机数
- 训练目的:练前缀异或、不相交区间贪心和时间戳桶。
- 前置训练:P1049 装箱问题、P1164 小 A 点菜、P1077 摆花、P2918 Buying Hay S
- 训练目的:先做子集计数 DP、组合计数,再理解超过阈值后合并状态的背包思想,最后迁移到按最大值分类统计。
使用建议
第一遍:整年模拟
按年份做整套题,目标是看真实得分:
text
T1:必须稳定 AC
T2:尽量 AC,注意实现细节
T3:先拿暴力分,再补正解
T4:先写可得分做法,不空题第二遍:题型复盘
做完一套后,把每题按下面格式复盘:
text
题号:
考点:
暴力分怎么拿:
正解关键观察:
本题最容易错在哪里:第三遍:近三年重点重做
2023、2024、2025 三年的 T3、T4 最适合用于冲刺训练。要求不是只看题解,而是补齐:
text
暴力代码
正解代码
复杂度证明
容易出错的数据