C++ CSP-J 与 CSP-S 题单:洛谷 140 题知识点全覆盖

一、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 题单逐步提升。每道题做完后及时总结错误原因和算法思路,形成自己的解题笔记。

相关推荐
张小姐的猫2 小时前
【MySQL】数据类型
android·linux·数据库·c++·mysql·adb·php
讳疾忌医丶2 小时前
编译器眼中的 C++ 循环:从指针别名、IEEE 754 结合律到 SIMD 语义证明
开发语言·c++
小徐不徐说2 小时前
C++ 机器视觉入门:从零搭建 AOI 开发环境(OpenCV + CMake)
开发语言·c++·opencv
誰能久伴不乏3 小时前
【无标题】
c++·qt·机器人
大陈子编程3 小时前
C++ 背包九讲:从入门到精通的动态规划专题
开发语言·c++·动态规划
努力实干16 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
syagain_zsx18 小时前
jsoncpp 使用指南:编译链接、Json::Value 取值与高频坑
c++·json·库·http格式
布莱克60519 小时前
理解 = delete 与 = default:两种赋值语义的差异
c++
小小、码农20 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++