一、CSP-J 题单(65 题)
以下题单覆盖 CSP-J 常考知识点,题型与真题风格类似,适合系统训练。
1. 分支结构(5 题)
- P5710 【深基3.例2】数的性质:多重条件判断。
- P5711 【深基3.例3】闰年判断:经典分支题。
- P5712 【深基3.例4】Apples:简单分支。
- P5713 【深基3.例5】洛谷团队系统:条件比较。
- P5714 【深基3.例7】肥胖问题:浮点数比较与分支。
2. 循环结构(6 题)
- P5715 【深基3.例8】三位数排序:循环与排序入门。
- P5716 【深基3.例9】月份天数:循环判断。
- P5720 【深基4.例4】一尺之棰:while 循环。
- P5721 【深基4.例6】数字直角三角形:双重循环。
- P5722 【深基4.例11】数列求和:累加求和。
- P5723 【深基4.例13】质数口袋:循环与质数判断。
3. 数组(6 题)
- P1428 小鱼比可爱:数组遍历与比较。
- P1427 小鱼的数字游戏:数组逆序输出。
- P5727 【深基5.例3】冰雹猜想:数组存储中间值。
- P5728 【深基5.例5】旗鼓相当的对手:多维数组。
- P5729 【深基5.例7】工艺品制作:三维数组。
- P5730 【深基5.例10】显示屏:字符数组。
4. 字符串(6 题)
- P5015 标题统计:字符串长度统计。
- P1308 统计单词数:字符串查找。
- P5733 【深基6.例1】自动修正:大小写转换。
- P5734 【深基6.例6】文字处理软件:字符串操作综合。
- P5735 【深基6.例7】距离函数:字符串转数字。
- P5736 【深基6.例8】质数筛:字符串与筛法结合。
5. 函数与递归(6 题)
- P5737 【深基7.例3】闰年展示:函数封装。
- P5738 【深基7.例4】歌唱比赛:函数与数组。
- P5739 【深基7.例7】计算阶乘:递归入门。
- P5740 【深基7.例9】最厉害的学生:结构体与函数。
- P5741 【深基7.例10】旗鼓相当的对手:结构体比较。
- P5742 【深基7.例11】评等级:结构体综合。
6. 排序与模拟(6 题)
- P1059 明明的随机数:去重排序。
- P1068 分数线划定:排序与模拟。
- P1781 宇宙总统:大数比较排序。
- P1093 奖学金:多关键字排序。
- P1271 【深基9.例1】选举学生会:计数排序。
- P1177 【模板】排序:快速排序模板。
7. 贪心(6 题)
- P1208 混合牛奶:经典贪心。
- P1223 排队接水:贪心排序。
- P1803 凌乱的yyy:区间贪心。
- P3817 小A的糖果:贪心模拟。
- P1478 陶陶摘苹果:贪心选择。
- P5019 铺设道路:贪心差分。
8. 搜索(6 题)
- P1605 迷宫:DFS 入门。
- P1036 选数:DFS 组合。
- P1219 八皇后:经典 DFS。
- P1443 马的遍历:BFS 入门。
- P1135 奇怪的电梯:BFS 最短路。
- P1451 求细胞数量:连通块搜索。
9. 数学与数论(6 题)
- P1029 最大公约数和最小公倍数问题:数论基础。
- P1075 质因数分解:质数判断。
- P1307 数字反转:数字处理。
- P1423 小玉在游泳:浮点累加。
- P1424 小鱼的航程:周期计算。
- P1980 计数问题:数字统计。
10. 高精度(4 题)
- P1601 A+B Problem(高精):高精度加法。
- P1303 A*B Problem:高精度乘法。
- P1480 A/B Problem:高精度除法。
- P2142 高精度减法:高精度减法。
11. 综合模拟(8 题)
- P1046 陶陶摘苹果:简单模拟。
- P1047 校门外的树:区间模拟。
- P1085 不高兴的津津:模拟。
- P1089 津津的储蓄计划:模拟。
- P1421 小玉买文具:模拟。
- P1422 小玉家的电费:分段计费。
- P1909 买铅笔:枚举模拟。
- P3954 成绩:简单计算。
二、CSP-S 题单(70 题)
以下题单覆盖 CSP-S 常考知识点,难度递进,适合冲击提高组。
1. 基础算法与复杂度(5 题)
- P3378 【模板】堆:堆操作入门。
- P3371 【模板】单源最短路径:Dijkstra 模板。
- P4779 【模板】单源最短路径(标准版):堆优化 Dijkstra。
- P3385 【模板】负环:SPFA 判负环。
- P3366 【模板】最小生成树:Kruskal 模板。
2. 数据结构(8 题)
- P3372 【模板】线段树 1:线段树区间修改查询。
- P3373 【模板】线段树 2:线段树多标记。
- P3368 【模板】树状数组 2:树状数组区间修改。
- P3865 【模板】ST 表:RMQ 问题。
- P1886 滑动窗口:单调队列。
- P5788 【模板】单调栈:单调栈应用。
- P3401 树链剖分:树链剖分入门。
- P3380 【模板】二逼平衡树:树套树。
3. 图论(10 题)
- P3379 【模板】最近公共祖先:LCA 倍增。
- P3387 【模板】缩点:Tarjan 强连通分量。
- P3388 【模板】割点:Tarjan 割点。
- P1656 炸铁路:割边。
- P1345 奶牛的电信:最小割。
- P2763 试题库问题:网络流建模。
- P3376 【模板】网络最大流:Dinic 模板。
- P3381 【模板】最小费用最大流:费用流。
- P1144 最短路计数:最短路变式。
- P1629 邮递员送信:多源最短路。
4. 动态规划(12 题)
- P1216 数字三角形:DP 入门。
- P1048 采药:0-1 背包。
- P1616 疯狂的采药:完全背包。
- P1060 开心的金明:背包变式。
- P1064 金明的预算方案:依赖背包。
- P1541 乌龟棋:多维 DP。
- P1439 最长公共子序列:LCS 优化。
- P1020 导弹拦截:LIS 与贪心。
- P1880 石子合并:区间 DP。
- P1063 能量项链:环形区间 DP。
- P1896 互不侵犯:状压 DP。
- P2704 炮兵阵地:状压 DP 进阶。
5. 数论(8 题)
- P3383 【模板】线性筛素数:欧拉筛。
- P3811 【模板】乘法逆元:逆元求解。
- P4549 【模板】裴蜀定理:数论定理。
- P1082 同余方程:扩展欧几里得。
- P2613 有理数取模:模运算。
- P2158 仪仗队:欧拉函数。
- P2568 GCD:欧拉函数应用。
- P4139 上帝与集合的正确用法:欧拉降幂。
6. 字符串(6 题)
- P3370 【模板】字符串哈希:哈希入门。
- P3805 【模板】manacher:回文串。
- P3808 【模板】AC 自动机:多模式匹配。
- P3375 【模板】KMP:KMP 匹配。
- P5829 【模板】失配树:KMP 进阶。
- P4551 最长异或路径:Trie 树。
7. 计算几何(4 题)
- P1452 Beauty Contest:凸包。
- P2742 圈奶牛:凸包模板。
- P3829 信用卡凸包:凸包变式。
- P4166 最大三角形:旋转卡壳。
8. 分治与倍增(5 题)
- P1903 数颜色:带修莫队。
- P1496 火烧赤壁:离散化。
- P1966 火柴排队:逆序对。
- P1908 逆序对:归并排序。
- P1967 货车运输:倍增 LCA。
9. 贪心与构造(6 题)
- P1080 国王游戏:贪心排序。
- P2123 皇后游戏:贪心证明。
- P4053 建筑抢修:贪心堆。
- P2949 工作调度:贪心堆。
- P3620 数据备份:贪心链表。
- P4052 文本生成器:AC 自动机 DP。
10. 综合难题(6 题)
- P3953 逛公园:图论 DP。
- P3959 宝藏:状压 DP 搜索。
- P3960 列队:平衡树。
- P5020 货币系统:背包与数论。
- P5021 赛道修建:二分答案。
- P5022 旅行:基环树。
三、刷题建议
建议按知识点分块刷题,每块先做模板题,再做变式题。CSP-J 题单打牢基础后,再进入 CSP-S 题单逐步提升。每道题做完后及时总结错误原因和算法思路,形成自己的解题笔记。