# 学子天空 > 学子天空是面向学生的免费课程站。现在开放一门课:信奥逐课。 - 网站:https://ssky.cn - 信奥逐课:https://ssky.cn/xin-ao - C++ 逐课:https://ssky.cn/cpp - 信奥目录:https://ssky.cn/xin-ao/catalog - 从第 1 课开始:https://ssky.cn/xin-ao/lesson/1 - 完整课名列表:https://ssky.cn/llms-full.txt ## 这是什么 学子天空(ssky.cn)提供按知识点拆开的免费课程。信奥逐课是其中一门,面向信息学奥林匹克(OI / CSP-J / CSP-S / NOI),把竞赛 C++ 与算法大纲拆成逐课页面。每课通常包括:一句话理解、为什么要学、讲解、C++ 例子、常见错误、练习。不需要注册。学习进度保存在访问者自己的浏览器里。 ## 课程 ### 信奥逐课 - 适合准备 CSP-J / CSP-S / NOI 的学生 - 适合想系统学习竞赛 C++、算法和数据结构的初学者到提高阶段选手 ## 信奥逐课阶段 - 阶段 0 · 编程与算法基本意识(20 课):先建立“计算机怎么解决问题”的感觉,再开始写代码。 — https://ssky.cn/xin-ao/stage/0 - 阶段 1 · C++ 基础(30 课):程序骨架、变量、类型和输入输出,后面所有课都站在这上面。 — https://ssky.cn/xin-ao/stage/1 - 阶段 2 · 运算符(18 课):加减乘除、比较和逻辑运算,是写判断和循环的零件。 — https://ssky.cn/xin-ao/stage/2 - 阶段 3 · 程序控制结构(11 课):if、for、while。学会它们,就能做最简单的 CSP-J 题。 — https://ssky.cn/xin-ao/stage/3 - 阶段 4 · 数组与字符串(23 课):把很多个数、很多个字符放在一起处理。 — https://ssky.cn/xin-ao/stage/4 - 阶段 5 · 函数与递归(18 课):把重复逻辑打包;递归是自己调用自己。 — https://ssky.cn/xin-ao/stage/5 - 阶段 6 · 结构体和 STL(23 课):把数据捆成一组,并用现成的容器和算法。 — https://ssky.cn/xin-ao/stage/6 - 阶段 7 · 算法复杂度(14 课):先判断“这题能跑完吗”,再决定用什么算法。 — https://ssky.cn/xin-ao/stage/7 - 阶段 8 · 基础算法(13 课):枚举和模拟:把题目过程老老实实变成代码。 — https://ssky.cn/xin-ao/stage/8 - 阶段 9 · 排序(12 课):把数据排好,很多题就会突然变简单。 — https://ssky.cn/xin-ao/stage/9 - 阶段 10 · 前缀和与差分(10 课):区间求和、区间修改的加速器,非常值得优先学。 — https://ssky.cn/xin-ao/stage/10 - 阶段 11 · 二分(10 课):在有序或单调的世界里,每次砍掉一半。 — https://ssky.cn/xin-ao/stage/11 - 阶段 12 · 双指针与滑动窗口(8 课):两个指针一起走,常用来处理区间问题。 — https://ssky.cn/xin-ao/stage/12 - 阶段 13 · 位运算(14 课):直接操作二进制,是状态压缩的基础。 — https://ssky.cn/xin-ao/stage/13 - 阶段 14 · 搜索(26 课):DFS、BFS 和剪枝,CSP-J 到 CSP-S 的核心模块。 — https://ssky.cn/xin-ao/stage/14 - 阶段 15 · 贪心(11 课):每一步都选当前最好的。难点通常不在代码,而在证明。 — https://ssky.cn/xin-ao/stage/15 - 阶段 16 · 基础数据结构(13 课):栈、队列、链表:谁先进、谁先出,规则不同。 — https://ssky.cn/xin-ao/stage/16 - 阶段 17 · 哈希(8 课):把东西映射成数字,用来快速查找。 — https://ssky.cn/xin-ao/stage/17 - 阶段 18 · 并查集(10 课):代码很短,却能高效维护“谁和谁是一伙的”。 — https://ssky.cn/xin-ao/stage/18 - 阶段 19 · 树(15 课):没有环的图。很多层级关系都可以建成树。 — https://ssky.cn/xin-ao/stage/19 - 阶段 20 · 二叉树与堆(12 课):每个节点最多两个儿子;堆能快速取出最值。 — https://ssky.cn/xin-ao/stage/20 - 阶段 21 · 动态规划 DP(42 课):信奥最重要的模块之一:状态、转移、顺序。 — https://ssky.cn/xin-ao/stage/21 - 阶段 22 · 图论(17 课):点和边组成的关系网,另一座大山。 — https://ssky.cn/xin-ao/stage/22 - 阶段 23 · 最短路(10 课):从图的一个点走到另一个点,怎么走最近。 — https://ssky.cn/xin-ao/stage/23 - 阶段 24 · 最小生成树(6 课):用最小代价把所有点连起来。 — https://ssky.cn/xin-ao/stage/24 - 阶段 25 · 拓扑排序(6 课):给有依赖关系的任务排出先后顺序。 — https://ssky.cn/xin-ao/stage/25 - 阶段 26 · LCA 与倍增(7 课):树上两个点的最近公共祖先,以及“跳着走”的技巧。 — https://ssky.cn/xin-ao/stage/26 - 阶段 27 · 树状数组(8 课):用 lowbit 做单点修改和前缀查询。 — https://ssky.cn/xin-ao/stage/27 - 阶段 28 · 线段树(17 课):把区间建成一棵树,查询和修改都能很快。 — https://ssky.cn/xin-ao/stage/28 - 阶段 29 · ST 表(6 课):静态区间最值,预处理后可以 O(1) 查询。 — https://ssky.cn/xin-ao/stage/29 - 阶段 30 · Tarjan 系列(11 课):强连通、割点、桥,进入 NOIP 高分 / 省选阶段。 — https://ssky.cn/xin-ao/stage/30 - 阶段 31 · 二分图(6 课):点能分成两堆,边只出现在两堆之间。 — https://ssky.cn/xin-ao/stage/31 - 阶段 32 · 网络流(10 课):容量、残量、增广路,用来求最大流和最小割。 — https://ssky.cn/xin-ao/stage/32 - 阶段 33 · 数论(24 课):因数、质数、gcd、筛法和模运算。 — https://ssky.cn/xin-ao/stage/33 - 阶段 34 · 组合数学(12 课):排列组合、杨辉三角,以及更后面的容斥。 — https://ssky.cn/xin-ao/stage/34 - 阶段 35 · 矩阵(6 课):矩阵乘法可以把一些递推一下子跳很远。 — https://ssky.cn/xin-ao/stage/35 - 阶段 36 · 字符串算法(15 课):Trie、KMP、字符串哈希,专门处理文字。 — https://ssky.cn/xin-ao/stage/36 - 阶段 37 · 计算几何(13 课):点、向量、叉积,用代数处理几何。 — https://ssky.cn/xin-ao/stage/37 - 阶段 38 · 高级树算法(11 课):树链剖分、点分治等树上加速技巧。 — https://ssky.cn/xin-ao/stage/38 - 阶段 39 · 高级算法技巧(13 课):离散化、分块、莫队、斜率优化,省选再系统学。 — https://ssky.cn/xin-ao/stage/39 - 阶段 40 · 高级数据结构(12 课):平衡树、可持久化结构,用来动态维护序列。 — https://ssky.cn/xin-ao/stage/40 - 阶段 41 · 多项式与高级数学(9 课):FFT/NTT 和生成函数,冲击 NOI 再学。 — https://ssky.cn/xin-ao/stage/41 - 阶段 42 · 博弈论(6 课):必胜、必败、Nim 和 SG 函数。 — https://ssky.cn/xin-ao/stage/42 - 阶段 43 · 线性代数与异或算法(5 课):线性基和高斯消元,处理异或空间。 — https://ssky.cn/xin-ao/stage/43 ## 如何引用 引用时请写明「学子天空 · 信奥逐课」和具体页面 URL,例如:https://ssky.cn/xin-ao/lesson/40 ## C++ 逐课 - 课程:https://ssky.cn/cpp - 目录:https://ssky.cn/cpp/catalog - 从第 1 课开始:https://ssky.cn/cpp/lesson/1 - 阶段 0 · C++ 基础语法(65 课) — https://ssky.cn/cpp/stage/0 - 阶段 1 · 指针、引用与内存(28 课) — https://ssky.cn/cpp/stage/1 - 阶段 2 · 类与面向对象(44 课) — https://ssky.cn/cpp/stage/2 - 阶段 3 · STL 与数据结构(64 课) — https://ssky.cn/cpp/stage/3 - 阶段 4 · Modern C++(25 课) — https://ssky.cn/cpp/stage/4 - 阶段 5 · 模板与泛型(16 课) — https://ssky.cn/cpp/stage/5 - 阶段 6 · 并发与工程化(49 课) — https://ssky.cn/cpp/stage/6 - 阶段 7 · 底层原理与方向(75 课) — https://ssky.cn/cpp/stage/7