有“〖深基X...〗”标识的题目**

洛谷的“深基”并不是从第 1 章到第 18 章每章都有一组连续编号的题目。例如当前洛谷可以明确检索到 深基1~7、深基9、深基12、深基13、深基15~18 等标识;不能检索到的章节我不虚构题目。洛谷自己的题单也明确说明这些题目来自《深入浅出程序设计竞赛——基础篇》。(Luogu)

洛谷“深基”题目全集整理表

难度说明:

  • 入门:适合零基础/基础训练
  • 普及−:开始进入竞赛基础,需要综合运用知识
  • 普及/提高−:明显高于纯入门题,需要一定算法思维
  • 普及+/提高:已经属于比较正规的算法训练题

一、深基1:基础输入输出、简单计算

洛谷当前可以检索到深基1的例题和习题,包括 B2600~B2615 这一组题。(Luogu)

# 深基 题号 中文题目 English 难度 主要知识点 链接
1 深基1.例2 B2600 简单的分苹果 Simple Apple Distribution 入门 输出、整数运算 B2600
2 深基1.例3 B2601 简单的分苹果 2 Simple Apple Distribution 2 入门 整数运算 B2601
3 深基1.例9 B2606 圆的计算 Circle Calculations 入门 常量、浮点数、数学公式 B2606
4 深基1.例10 B2607 简单的猴子吃桃 Simple Monkey and Peaches 入门 逆向计算 B2607
5 深基1.例11 B2608 评测机队列 Judge Queue 入门 基础计算 B2608
6 深基1.习1 B2609 清扫教室 Cleaning the Classroom 入门 基础输出 B2609
7 深基1.习2 B2610 面积计算 Area Calculation 入门 方程、面积 B2610
8 深基1.习3 B2611 竞赛得分 Contest Scores 入门 方程、浮点数 B2611
9 深基1.习4 B2612 简单的分苹果 3 Simple Apple Distribution 3 入门 整数运算 B2612
10 深基1.习5 B2613 打字速度 Typing Speed 入门 基础计算 B2613
11 深基1.习6 B2614 鸡兔共笼 Chickens and Rabbits in One Cage 入门 方程、枚举 B2614
12 深基1.习7 B2615 定期存款 Fixed-Term Deposit 入门 数学计算 B2615

二、深基2:顺序结构

深基2主要训练顺序结构、整数/浮点运算、类型转换、数学公式。洛谷官方题单列出了深基2.例5~例8、例12以及习题2、习题6。(Luogu)

# 深基 题号 中文题目 English 难度 主要知识点 链接
13 深基2.例1 B2616 跑步 Running 入门 基本计算 B2616
14 深基2.例2 B2617 英文字母 English Letters 入门 字符、ASCII B2617
15 深基2.例3 B2618 玩橡皮泥 Playing with Plasticine 入门 基础数学 B2618
16 深基2.例4 B2619 销量预测 Sales Forecast 入门 数学计算 B2619
17 深基2.例5 P5703 苹果采购 Apple Purchasing 入门 整数运算 P5703
18 深基2.例6 P5704 字母转换 Letter Conversion 入门 ASCII、字符转换 P5704
19 深基2.例7 P5705 数字反转 Number Reversal 入门 数字分离、取模 P5705
20 深基2.例8 P5706 再分肥宅水 Redistributing Fat House Water 入门 浮点数、格式化输出 P5706
21 深基2.例12 P5707 上学迟到 Late for School 入门 时间计算、取模、向上取整 P5707
22 深基2.习2 P5708 三角形面积 Triangle Area 入门 海伦公式/数学公式 P5708
23 深基2.习6 P5709 Apples Prologue / 苹果和虫子 Apples Prologue / Apples and Worms 入门 整数除法、边界处理 P5709

三、深基3:分支结构

深基3主要进入 if / else、逻辑运算、条件判断、排序基础。洛谷的“入门2——分支结构”题单也将 P5710~P5717 等题目作为分支结构训练。(Luogu)

# 深基 题号 中文题目 English 难度 主要知识点 链接
24 深基3.例1 B2620 数字比较 Number Comparison 入门 比较运算符、逻辑判断 B2620
25 深基3.例2 P5710 数的性质 Properties of Numbers 入门 逻辑运算、分支 P5710
26 深基3.例3 P5711 闰年判断 Leap Year Check 入门 多条件判断 P5711
27 深基3.例4 P5712 Apples Apples 入门 条件判断 P5712
28 深基3.例5 P5713 洛谷团队系统 Luogu Team System 入门 if/else P5713
29 深基3.例7 P5714 肥胖问题 BMI / Obesity Problem 入门 浮点数、条件分支 P5714
30 深基3.例8 P5715 三位数排序 Sorting Three Numbers 入门 排序、交换 P5715
31 深基3.例9 P5716 月份天数 Days in a Month 入门 分支、闰年 P5716
32 深基3.习8 P5717 三角形分类 Triangle Classification 普及− 排序、三角形判定、逻辑 P5717

P5717 的官方题面要求判断三角形、直角/锐角/钝角、等腰、等边等多个性质,是深基3中非常适合练习多重条件判断的一题。(Luogu)


四、深基4:循环结构

# 深基 题号 中文题目 English 难度 主要知识点 链接
33 深基4.例2 P5718 找最小值 Find the Minimum 入门 循环、最值 P5718
34 深基4.例3 P5719 分类平均 Grouped Average 入门 循环、平均数 P5719
35 深基4.例4 P5720 一尺之棰 A One-Foot Rod 入门 while、循环模拟 P5720
36 深基4.例6 P5721 数字直角三角形 Numeric Right Triangle 入门 嵌套循环、图形输出 P5721
37 深基4.例11 P5722 数列求和 Sequence Summation 入门 for循环、累加 P5722
38 深基4.例13 P5723 质数口袋 Prime Number Pocket 入门 枚举、素数判断 P5723
39 深基4.习5 P5724 求极差 / 最大跨度值 Range / Maximum Span 入门 数组、最值 P5724
40 深基4.习8 P5725 求三角形 Draw a Triangle 入门 嵌套循环、格式化输出 P5725
41 深基4.习9 P5726 打分 Scoring 入门 循环、最大最小值、平均值 P5726

P5720 的核心就是循环模拟:每天将木棍长度除以 2,直到长度变成 1。(Luogu)


五、深基5:数组与基础模拟

深基5开始明显进入数组、二维数组、模拟、图形输出。洛谷的数组题单也将 P5727、P5728、P5729、P5730、P5731、P5732 作为这一阶段的核心练习。(Luogu)

# 深基 题号 中文题目 English 难度 主要知识点 链接
42 深基5.例3 P5727 冰雹猜想 Collatz Conjecture 入门 while、模拟 P5727
43 深基5.例5 P5728 旗鼓相当的对手 Closely Matched Opponents 入门 数组、枚举 P5728
44 深基5.例7 P5729 工艺品制作 Craft Making 入门 二维数组、模拟 P5729
45 深基5.例10 P5730 显示屏 Digital Display 普及− 二维数组、字符图形 P5730
46 深基5.习6 P5731 蛇形方阵 Snake Matrix 入门 二维数组、模拟 P5731
47 深基5.习7 P5732 杨辉三角 Pascal's Triangle 入门 二维数组、组合规律 P5732

其中 P5730 的官方难度已经达到 普及−,相较前面的纯计算题有明显提升。(Luogu)


六、深基6:字符串

深基6正式进入字符串处理

# 深基 题号 中文题目 English 难度 主要知识点 链接
48 深基6.例1 P5733 自动修正 Auto Correction 入门 string、字符替换 P5733
49 深基6.例6 P5734 文字处理软件 Word Processing Software 入门 string、字符串操作 P5734

洛谷当前题库也明确把 P5733 标记为“深基6.例1”,P5734 标记为“深基6.例6”。(Luogu)


七、深基7:函数、递归、结构体

这是非常重要的一章。深基7开始出现:

  • function
  • 参数
  • return
  • recursion
  • struct
  • prime checking
  • 排序/统计
  • 结构体综合应用

洛谷的相关题单也将 P5735、P5738、P5739、P5740、P5744 等作为函数/结构体/递归训练题。(Luogu)

# 深基 题号 中文题目 English 难度 主要知识点 链接
50 深基7.例1 P5735 距离函数 Distance Function 入门 函数、数学公式 P5735
51 深基7.例2 P5736 质数筛 Prime Filtering 入门 函数、素数判断 P5736
52 深基7.例3 P5737 闰年展示 Leap Year Display 入门 函数、循环、日期 P5737
53 深基7.例4 P5738 歌唱比赛 Singing Competition 普及− 函数、数组、排序/统计 P5738
54 深基7.例7 P5739 计算阶乘 Factorial Calculation 入门 函数、递归/循环 P5739
55 深基7.例9 P5740 最厉害的学生 Top Student 入门 struct、数组、最大值 P5740
56 深基7.例10 P5741 旗鼓相当的对手 - 加强版 Closely Matched Opponents - Enhanced 普及− struct、枚举、字符串 P5741
57 深基7.例11 P5742 评等级 Grade Evaluation 入门 struct、成员函数 P5742
58 深基7.习8 P5743 猴子吃桃 Monkey and Peaches 入门 递推、递归 P5743
59 深基7.习9 P5744 培训 Training 入门 struct、函数 P5744

例如 P5744 要求使用结构体保存姓名、年龄、成绩,并设计函数模拟一年后的培训过程,非常适合用来练习 struct + function。(Luogu)


八、深基9:排序、分治基础

# 深基 题号 中文题目 English 难度 主要知识点 链接
60 深基9.例1 P1271 选举学生会 Student Union Election 普及− 排序、计数排序 P1271
61 深基9.例4 P1923 求第 k 小的数 Find the k-th Smallest Number 普及− 快速选择/分治 P1923

洛谷自己的“算法1-2 排序”题单把 P1271 和 P1923 都作为深基9核心排序题,其中 P1923 是第 k 小问题。(Luogu)


九、深基12:贪心

# 深基 题号 中文题目 English 难度 主要知识点 链接
62 深基12.例1 P2240 部分背包问题 Fractional Knapsack 普及− 贪心、排序、性价比 P2240

P2240 的题目明确允许金币任意分割,因此核心就是按照单位重量价值进行贪心选择。洛谷当前难度为“普及−”。(Luogu)


十、深基13:二分查找

# 深基 题号 中文题目 English 难度 主要知识点 链接
63 深基13.例1 P2249 查找 Searching 普及− 二分查找、lower_bound思想 P2249

P2249 要求在一个单调不减序列中找到某个数字第一次出现的位置,是非常标准的二分查找入门题。(Luogu)


十一、深基15:数组、链表、STL

# 深基 题号 中文题目 English 难度 主要知识点 链接
64 深基15.例1 P3156 询问学号 Query Student ID 入门 数组、随机访问 P3156
65 深基15.例2 T191062 寄包柜 Storage Lockers 普及− 二维数据、数组套链表/映射 T191062
66 深基15.习9 P4387 验证栈序列 Validate Stack Sequences 普及/提高− stack、栈模拟 P4387

P3156 的数据规模达到 (n\le2\times10^6)、询问次数达到 (10^5),核心是利用数组的直接访问。(Luogu)

P4387 则进入真正的 STL/数据结构训练:给定入栈和出栈序列,判断出栈序列是否可能出现。(Luogu)


十二、深基16:二叉树

# 深基 题号 中文题目 English 难度 主要知识点 链接
67 深基16.例1 P4715 淘汰赛 Knockout Tournament 普及− 二叉树、递归 P4715
68 深基16.例3 P4913 二叉树深度 Binary Tree Depth 普及− DFS、递归、二叉树 P4913
69 深基16.例7 P5076 普通二叉树(简化版) Ordinary Binary Tree (Simplified) 普及+/提高 二叉树、递归、数据结构 P5076

洛谷的“二叉树”题单明确将 P4715、P4913、P5076 列为深基16的核心题目。(Luogu)


十三、深基17:集合、map、STL

# 深基 题号 中文题目 English 难度 主要知识点 链接
70 深基17.例5 P5250 木材仓库 Lumber Warehouse 普及− set、二分 P5250
71 深基17.例6 P5266 学籍管理 Student Record Management 普及/提高− map、字符串、STL P5266

洛谷的集合题单明确将 P5250、P5266 作为 set/map 的深基17练习。(Luogu)


十四、深基18:图论、DFS、BFS

# 深基 题号 中文题目 English 难度 主要知识点 链接
72 深基18.例3 P5318 查找文献 Literature Search 普及− DFS、BFS、图遍历 P5318

P5318 要求分别使用 DFS 和 BFS 遍历图,而且要求多个可访问节点时优先访问编号较小的节点,是深基阶段进入图论非常典型的一题。(Luogu)


十五、按“知识体系”重新归类

如果不是按照“深基章节”,而是从Python/C++竞赛学习路线来看,这 72 道题可以进一步压缩成下面这条路线:

学习阶段 深基题目 核心英文知识点 建议掌握程度
① 基础语法 深基1 Input / Output / Arithmetic
② 顺序结构 深基2 Sequential Structure
③ 条件判断 深基3 Conditional Statements / Branching
④ 循环 深基4 Loops / Iteration ⭐⭐
⑤ 数组模拟 深基5 Arrays / Simulation ⭐⭐
⑥ 字符串 深基6 Strings / String Processing ⭐⭐
⑦ 函数 深基7 Functions ⭐⭐
⑧ 递归 深基7 Recursion ⭐⭐⭐
⑨ 结构体 深基7 Structures / Struct ⭐⭐⭐
⑩ 排序 深基9 Sorting ⭐⭐⭐
⑪ 贪心 深基12 Greedy Algorithm ⭐⭐⭐
⑫ 二分 深基13 Binary Search ⭐⭐⭐
⑬ 数组/链表 深基15 Arrays / Linked Lists ⭐⭐⭐
⑭ 栈 深基15 Stack ⭐⭐⭐
⑮ 二叉树 深基16 Binary Trees ⭐⭐⭐⭐
⑯ set/map 深基17 Set / Map / Hashing ⭐⭐⭐⭐
⑰ DFS/BFS 深基18 Graph Traversal / DFS / BFS ⭐⭐⭐⭐

十六、如果是给学生学 Python,建议这样对应

特别是你如果是用Python给中小学生/信息学入门学生教学,不建议完全按照 C++ 的“深基章节”机械讲,而可以这样转换:

深基 Python对应内容 重点语法
深基1 Python 基础输出 print()
深基2 顺序结构 input()、变量、运算符
深基3 分支 if / elif / else
深基4 循环 for / while
深基5 列表 list、二维列表
深基6 字符串 str、切片、方法
深基7 函数 def、参数、return
深基7 递归 recursive function
深基7 结构体 Python 中可以用 class / dict
深基9 排序 sort()sorted()
深基12 贪心 greedy strategy
深基13 二分 bisect / binary search
深基15 栈/队列 listdeque
深基16 二叉树 class + recursion
深基17 映射 dictset
深基18 图搜索 DFS / BFS

一个特别值得注意的对应关系

你刚才问到的 Python“推导式”,英文是 comprehension

在深基体系中,它不是单独的一章,但在 Python 教学中可以把它放到“数组/列表”之后:

# 普通循环
squares = []
for x in range(1, 6):squares.append(x * x)# List Comprehension
squares = [x * x for x in range(1, 6)]

也就是说:

深基5 数组 → Python list → List Comprehension

这是非常自然的一条教学衔接路线。


一个重要结论

如果你的目标是从 Python 入门一直过渡到 GESP/CSP-J/USACO 基础算法,我建议不要把这 72 道题全部当成同等重要。

可以分成:

第一梯队:必须刷

深基1 → 深基2 → 深基3 → 深基4 → 深基5 → 深基6 → 深基7

重点是把:

变量 → 运算 → if → for/while → list → string → function → recursion

完整打通。

第二梯队:算法入门

深基9 → 深基12 → 深基13

重点:

Sorting → Greedy → Binary Search

第三梯队:数据结构入门

深基15 → 深基16 → 深基17 → 深基18

重点:

Stack → Tree → Set/Map → DFS/BFS

这也是为什么洛谷官方的算法题单会把深基13的 P2249 放在二分查找题单中、把深基12的 P2240 放在贪心题单中、把深基18的 P5318 放在图遍历题单中。(Luogu)

因此,如果是给一个 Python 初学者制定刷题路线,推荐顺序不是单纯的 P 题号顺序,而是:

深基1 → 深基2 → 深基3 → 深基4 → 深基5 → 深基6 → 深基7 → 深基9 → 深基12 → 深基13 → 深基15 → 深基16 → 深基17 → 深基18

这条路线基本就是从Python 基础语法 → 基础编程 → 算法入门 → 数据结构 → 搜索的一条完整上升路线。