NOI / CSP-J/S 竞赛方向

信息学奥赛
完整培养体系

从零基础到 CSP-J/S / NOIP 获奖的 96 课时系统课程,覆盖 C++ 编程、算法、数据结构、图论、动态规划等全部核心知识域,对标全国青少年信息学奥林匹克竞赛体系。

96
精品课时
6大阶段
递进学习
144h
实战训练
竞赛出口
01
C++ 基础
语言入门
L1-L16
02
基础算法
排序·搜索·贪心
L17-L32
03
数据结构
栈·树·图
L33-L48
04
进阶算法
DP·搜索·数学
L49-L64
05
深度进阶
DP优化·高级DS
L65-L80
06
竞赛冲刺
真题·模拟·实战
L81-L96
💻

阶段一:C++ 语言基础

L1 - L16 · 从零开始掌握 C++ 编程语言

01

信息学奥赛导论

入门科普环境搭建

什么是信息学奥赛?NOI / CSP-J-S / NOIP 赛制详解。安装 Dev-C++ 或 VS Code + g++,编写第一个 C++ 程序。了解竞赛评分机制(OI 赛制 vs IOI 赛制)和常见误区。

📋 完成环境搭建并运行第一个程序
02

变量与数据类型

语法int/long longdouble/char/bool

变量命名规则。整型范围与溢出——为什么信奥要用 long long?浮点数精度陷阱。字符型与 ASCII 码。布尔类型与逻辑运算。

📋 A+B 问题变式(多组数据/大整数范围)
03

运算符与表达式

算术运算取模优先级类型转换

取模运算的妙用(判断奇偶/数位提取)。自增自减前缀后缀区别。运算符优先级。隐式与强制类型转换。整数除法陷阱。

📋 计算器程序(四则运算+取余应用)
04

输入输出精讲

cin/coutscanf/printf格式控制效率对比

cin/cout 关闭同步加速。scanf/printf 格式控制符。多组输入处理。字符串输入的坑。读写效率对竞赛的意义。

� 熟练切换 cin/scnaf 完成多种格式题目
05

条件判断与分支

if-elseswitch嵌套三目

if-else 分支结构与逻辑表达式。else-if 多路分支。switch-case 与 break 漏写陷阱。条件运算符。复杂条件拆解技巧。

📋 分段函数/成绩等级判定/闰年判断
06

循环结构(上):for 与 while

forwhiledo-whilebreak/continue

for 循环三要素与执行流程。while vs do-while。break 与 continue 正确用法。循环变量作用域。死循环排查。累加/累乘/计数模式。

📋 打印图形/求阶乘/斐波那契前N项
07

循环结构(下):嵌套与综合

嵌套循环枚举思想模拟过程

双层嵌套循环执行顺序分析。经典图案打印。枚举思想入门:暴力穷举所有可能。简单模拟题。

📋 九九乘法表/素数筛选/简单模拟题
08

一维数组

数组下标遍历越界

数组声明、初始化与内存模型。下标从0开始的意义。常用模式(求最值/统计频率/前缀和初探)。数组越界的危险后果。逆序存储与翻转。

📋 最大值及其位置/桶计数/数组翻转
09

多维数组

二维数组矩阵遍历方式

二维数组声明与初始化。矩阵基本操作(转置/行列交换)。行优先vs列优先存储。高维数组应用场景。迷宫地图的数组表示法。

📋 矩阵加减/蛇形填数/杨辉三角前N行
10

字符串基础

stringchar[]拼接比较

C风格字符串与C++ string类选择。长度、拼接、子串查找。字典序概念。字符分类函数。大小写转换。

📋 回文串判断/单词统计/加密解密
11

函数入门

函数定义参数传递返回值值传递

为什么要用函数——代码复用与模块化思维。函数定义、调用与返回值。参数值传递机制。void类型。良好函数设计原则。

📋 自定义gcd函数/判断素数函数/温度转换集
12

函数进阶:引用与递归初识

引用&传引用递归入门

引用类型的本质——别名而非拷贝。传引用修改实参的实际用途(swap/多返回值)。递归思维启蒙:三要素(基线条件/递推关系/收敛保证)。

📋 递归求阶乘/斐波那契/引用实现两数交换
13

STL 入门(上):vector 与 string

STLvector动态数组迭代器

STL标准模板库的价值。vector动态数组操作(push_back/pop_back/size/clear/resize)。string的STL操作(erase/insert/find/substr)。迭代器初步认识。

📋 用vector实现动态成绩管理系统
14

STL 入门(下):algorithm 排序

sortlower_boundcmplambda

sort排序函数使用。自定义比较函数cmp。降序排序/多关键字排序。lambda简介。二分查找lower_bound/upper_bound精确含义与应用。

📋 学生成绩排序(多字段)/二分查找插入位置
15

时间复杂度与空间复杂度

O(n)O(log n)O(n²)常数优化

算法效率分析的重要性。大O表示法直觉理解。常见复杂度速查表(O(1)到O(n²))。估算代码时间复杂度的方法。竞赛时限与常数优化意识。

📋 分析5段代码的复杂度并给出优化方案
🏆

阶段一项目:C++ 基础能力测评

综合项目阶段考核20 题

涵盖变量/条件/循环/数组/字符串/函数/STL 的20道综合编程题测试。包含洛谷入门难度精选(P1xxx系列),限时完成并讲解。通过率达标方可进入下一阶段。

📋 交付物:20道编程题 + 阶段测评报告
🧠

阶段二:基础算法

L17 - L32 · 排序、搜索、贪心与模拟

17

模拟算法精讲

模拟过程还原状态维护

模拟类问题通用框架:读入→维护状态→执行操作→输出结果。时间模拟/事件模拟/状态空间表示与更新。典型例题:日期计算/纸牌游戏。

📋 生命游戏模拟/简单文本编辑器模拟
18

枚举算法

枚举穷举剪枝边界

暴力枚举思想精髓。枚举范围确定技巧(避免超时)。多重循环枚举与优化。枚举+判定标准模板。剪枝思想初步:提前排除不可能情况。

📋 百钱买鸡/完全平方数/枚举优化练习
19

排序算法原理

冒泡选择插入排序稳定性

冒泡排序(相邻交换+优化)。选择排序(每轮选最小)。插入排序(摸牌思想)。三种排序的时间/空间/稳定性对比。为什么手写排序必须懂原理但竞赛中很少用。

📋 手写三种排序并可视化比较过程
20

快速排序与归并排序

快排归并排序O(nlogn)分治思想

快速排序partition过程与pivot选择。最坏情况规避(随机化/三数取中)。归并排序合并两个有序序列。分治思想正式接触。第K大数的快速选择算法。

📋 手写快排/归并排序求逆序对
21

二分查找(上):整数二分

二分查找lower_bound单调性

二分本质:在有序区间缩小搜索范围。两种整数二分模板(左边界/右边界)。mid防溢出写法。单调性判断是使用二分的前提。二分答案思想启蒙。

📋 数组元素查找/二分答案求平方根
22

二分查找(下):浮点二分与二分答案

浮点二分二分答案check函数

浮点数二分精度控制。二分答案范式:设计check(x)→确定单调性→搜最大/最小可行值。最大化最小值/最小化最大值经典题型。

📋 砍木材问题/跳石头问题/精度计算
23

贪心算法入门

贪心局部最优证明

贪心核心:每步取当前最优hoping全局最优。正确性证明(交换法/反证法)。排序后贪心的经典套路。区间调度问题。哈夫曼编码思想。

📋 活动选择/最优装载/区间覆盖
24

贪心算法进阶

反悔贪心优先队列

更复杂的贪心场景。利用堆辅助贪心决策。反悔贪心:允许撤销之前的决定。贪心+排序+前缀和组合运用。何时该用贪心/何时不能用的判断经验。

📋 排队接水/贪心+堆组合题
25

高精度运算(上):加减法

高精度大整数加法减法

为什么需要高精度——long long也装不下时。高精度加法逐位相加+进位处理。高精度减法借位处理与符号判断。用string/vector存储大整数的统一做法。

📋 高精度A+B/减法/大整数比较
26

高精度运算(下):乘法与除法

高精度乘法高精度除法

高精度乘法竖式模拟与优化。高精度×低精度的快捷写法。高精度除法试商法。高精度四则综合应用。高精度+取模在数论中的应用。

📋 阶乘精确值/斐波那契第N项(高精度)
27

前缀和与差分

前缀和差分区间查询区间修改

一维前缀和O(1)区间求和。二维前缀和子矩阵求和。差分数组O(1)区间批量修改。前缀和与差分的互逆关系。高频出现规律总结。

📋 区间和查询/差分涂色/二维子矩阵和
28

双指针算法

双指针滑动窗口对撞指针

双指针本质:两个游标协同扫描将O(n²)降到O(n)。对撞指针有序数组两数之和。滑动窗口最长/最短满足条件的子序列。字符串处理中的双指针应用。

📋 最长不重复子串/三数之和/滑动窗口最大值
29

数学基础(上):GCD/LCM 与质数

GCD/LCM质数筛欧几里得

最大公约数辗转相除法。LCM公式。质数判断试除法到sqrt(n)。埃拉托斯特尼筛法。质因数分解唯一分解定理。

📋 约数个数/质因数分解/筛法求质数表
30

数学基础(下):快速幂与数论初步

快速幂同余取模组合数

快速幂O(log n)计算a^b。矩阵快速幂预告。同余与模运算性质。快速幂取模应用。简单组合数计算(杨辉三角法)。费马小定理直觉理解。

📋 快速幂板子/矩阵快速幂求斐波那契
31

递归与分治深入

递归分治递归树分析

递归深度限制与栈空间。递归树分析方法画调用过程看复杂度。分治范式:分解→解决→合并。归并排序分治视角重审。分治其他经典应用预告。

📋 汉诺塔/归并排序变种/分治求最大子段和
🏆

阶段二综合:基础算法集训

综合复习15 题阶段考核

覆盖模拟/枚举/排序/二分/贪心/高精度/前缀和/双指针/数学/递归分治的15道综合训练题。限时模拟真实比赛环境,训练读题速度与代码准确度。

📋 交付物:15道算法题 + 阶段测评报告
🗜️

阶段三:数据结构

L33 - L48 · 核心数据结构与抽象思维

33

栈与队列

StackQueueLIFO/FIFO单调栈

栈的后进先出应用(括号匹配/表达式求值)。队列先进先出与BFS预告。单调栈找下一个更大/更小元素经典模板。单调队列滑动窗口最值的线性解法。

📋 括号匹配/表达式求值/单调栈直方图
34

链表与指针操作

链表指针增删改查

链表节点设计与基本操作。单链表vs双向链表。虚拟头节点简化技巧。常见面试/竞赛题模式。链表在竞赛中不如数组常用的原因及例外场景。

📋 链表反转/合并有序链表/环形检测
35

集合与映射

setmapunordered红黑树

set自动去重有序存储。multiset允许重复。map键值对映射与计数神器。unordered_set/map哈希实现与O(1)均摊。何时用有序vs无序容器。

📋 单词频次统计/去重排序/set-map综合
36

优先队列(堆)

priority_queue大根/小根

堆底层原理:完全二叉树与上浮/下沉操作。priority_queue默认行为与改小根堆方法。Top-K问题天然优势。Dijkstra堆优化预演。堆排序与快排对比。

📋 TopK问题/合并K个有序链表/堆模拟
37

二叉树的存储与遍历

二叉树前中后序层序

树的基本术语。二叉树数组表示法与指针表示法。四种遍历(前/中/后/层)。已知两种遍历重建二叉树。BST性质与基本操作。

📋 四种遍历/BST插入查找/树深度计算
38

线段树(上):原理与建树

线段树区间查询点更新

线段树解决什么问题。二叉树结构递归建树。区间查询(求和/最值)。pushup操作含义。点更新实现。空间预估4N原则。

📋 静态区间和查询/单点更新+区间查询
39

线段树(下):Lazy Propagation

懒标记区间修改pushdown

区间加法的朴素做法为何不够。Lazy Tag需要时才往下推。pushdown详细流程。区间赋值特殊处理。线段树综合应用:区间加+区间求和/最值。

📋 区间染色问题/星星查询/Lazy板子
40

树状数组

BITFenwicklowbit

树状数组巧妙之处:lowbit实现O(log n)点更新+前缀查询。与线段树区别(代码短/功能受限)。区间修改+单点查询转化。二维树状数组预告。

📋 单点修改+区间求和/逆序对(BIT版)/二维
41

并查集

DSU路径压缩按秩合并

解决动态连通性问题。find/union基本实现。路径压缩(折半/完全压缩)。按秩合并(按大小/按深度)。带权并查集维护距离或关系种类。扩展域并查集:食物链。

📋 连通块计数/亲戚问题/食物链(扩展域)
42

图的存储与基本概念

邻接矩阵邻接表链式前向星

图基本概念:顶点/边/度/路/环/连通。有向vs无向/加权图。邻接矩阵O(1)查询边O(V²)空间。邻接表vector标准写法。链式前向星最快存图方式。

📋 用三种方式存同一张图/遍历验证
43

图的遍历:BFS 与 DFS

BFSDFS拓扑排序

BFS队列层级展开。DFS递归走到底再回溯。BFS求无权图最短路。DFS变形应用(拓扑排序/连通分量/割点桥预告)。vis标记时机讨论。

📋 迷宫最短路/拓扑排序课程安排/连通块染色
44

最短路(上):Dijkstra

Dijkstra堆优化非负权

单源最短路定义与Dijkstra贪心策略。朴素O(V²)vs堆优化O((V+E)logV)。不能处理负权边原因。路径还原pre数组记录前驱。多种变形预告。

📋 堆优化Dijkstra板子/路径还原/多源转化
45

最短路(下):Bellman-Ford 与 SPFA

Bellman-FordSPFA负环检测

Bellman-Ford松弛操作本质。SPFA队列优化的Bellman-Ford。SPFA处理负权优势。负环检测方法。不同图中表现差异。竞赛中Dijkstra vs SPFA选择原则。

📋 SPFA板子/负环检测/含负权的最短路
46

最小生成树

MSTKruskalPrim并查集

MST定义:连接所有点的最小总权重无环子图。Kruskal按边权排序+并查集判环。Prim从某点出发不断扩展。适用场景对比。MST唯一性与性质(割定理)。

📋 Kruskal/Prim/修路问题/最优布线
47

哈希表与字符串 Hash

Hash字符串哈希Rabin-Karp

哈希函数目标:均匀映射。开放寻址法与拉链法。字符串Hash把字符串映射为数字。自然溢出vs模大质数。双Hash降低碰撞概率。Rabin-Karp O(N+M)模式查找。

📋 字符串哈希板子/Rabin-Karp匹配/不同子串计数
🏆

阶段三项目:数据结构综合实战

综合项目阶段考核15 题

覆盖栈/队列/链表/set-map/堆/树/线段树/BIT/并查集/图论/Hash的15道综合数据结构题。重点考察数据结构的选择与组合运用能力。

📋 交付物:15道数据结构综合题 + 阶段测评报告
🔄

阶段四:进阶算法

L49 - L64 · 搜索、动态规划与高级技巧

49

DFS 搜索(上):回溯法

DFS回溯排列组合剪枝

回溯框架:尝试→标记→递归→撤销标记。全排列经典回溯模板。组合问题start参数控制不重复选取。N皇后回溯+剪枝完美示例。时间复杂度分析与剪枝重要性。

📋 全排列/组合总和/N皇后/数独求解
50

DFS 搜索(下):记忆化搜索

记忆化备忘录状态压缩

记忆化核心:同样子问题只算一次。从递归到DP的桥梁——本质是「自顶向下」的DP。滑雪问题经典案例。状压DP搜索入门。记忆化vs迭代DP选择考量。

📋 滑雪问题/数字三角形(记忆化版)/状压搜索入门
51

BFS 搜索进阶

双向BFS多源BFSA*

BFS状态设计艺术。双向BFS起点终点同时搜索指数级加速。多源BFS多个起点同时入队。BFS+状态压缩解较小规模NP-hard问题。A*算法简介。

📋 八数码/双向BFS最短路/多源BFS最近距离
52

DP 入门(上):线性 DP

DP线性DPLIS/LCS

DP核心:重叠子问题+最优子结构。解题四步骤(定义状态→转移方程→初始化→计算顺序)。线性DP经典:LIS最长上升子序列。LCS最长公共子序列。编辑距离入门。

📋 LIS/LCS/最大子段和/数字三角形(DP版)
53

DP 入门(下):背包问题

01背包完全背包多重背包分组背包

01背包每个物品选或不选,滚动数组优化空间。完全背包每个物品无限个。多重背包有限个(二进制拆分/单调队列优化)。分组每组至多选一个。万能思考框架与变体识别。

📋 01背包/完全背包/多重背包/混合背包
54

区间 DP 与树形 DP

区间DP树形DP合并石子

区间DP状态定义为区间的DP(合并石子/区间最优)。区间长度的枚举顺序。树形DP在树上做DP(没有环的图上DP)。树上独立集/重心/最长路径。换根DP预告。

📋 合并石子/树形DP最大独立集/没有上司的舞会
55

状压 DP

状态压缩bitmask枚举子集

状态压缩:用二进制位表示一个集合。bitmask基本操作。状压DP适用条件:状态总数≤~2^20。TSP旅行商问题状压解法。棋盘覆盖/排列问题/最短Hamilton路径。

📋 最短Hamilton路径/棋盘覆盖/炮兵阵地
56

数位 DP

digit DP计数

数位DP场景:统计[L,R]范围内满足条件的数的个数。按位逐位确定+已比上界小的状态标记。前导零处理技巧。通用模板与变形(不含某数字/数位和/能被整除)。

📋 统计不含62的数/Windy数/数字和为S的数
57

图的连通性:Tarjan

Tarjan强连通SCC割点桥

强连通分量:有向图中互相可达的点集。Tarjan算法dfn时间戳+low回溯值配合。缩点变DAG。割点与桥删除使图不连通的点或边。双连通分量v-DCC/e-DCC。

📋 Tarjan求SCC/缩点DAG上DP/割点判定
58

网络流入门

网络流最大流Dinic

流网络建模:源点/汇点/容量/流量。Ford-Fullkerson残量网络+增广路反复寻找。Edmonds-Karp BFS找最短增广路。Dinic BFS分层+DFS多路增广(竞赛主力)。最大流最小割定理。

📋 Dinic板子/二分图最大匹配/最大流应用
59

数学专题(上):排列组合与容斥

排列组合容斥原理卡特兰数

加法与乘法原理。排列P(n,r)与组合C(n,r)。可重排列与可重组合。容斥原理|A∪B|推广到多集。错排问题。卡特兰数组合解释(括号匹配/出栈序列)。

📋 容斥原理计数/卡特兰数应用/组合数模质数
60

数学专题(下):博弈论与期望 DP

博弈论NimSG函数期望DP

公平组合游戏:必胜态与必败态。Nim游戏异或和为0必败证明。SG定理转化为Nim。mex最小排除值运算。期望DP从终态倒推向初态的概率期望计算。

📋 Nim游戏/SG函数求值/收集品期望DP
61

字符串算法:KMP 与 Manacher

KMPnext数组Manacher回文串

暴力匹配O(nm)为何慢。KMP的next数组前缀等于后缀的最大长度。KMP匹配不回溯文本指针。Manacher O(n)找最长回文子串。中心扩展改进思路。PAM预告。

📋 KMP模板/最长回文子串(Manacher)/循环节周期
62

AC 自动机

AC自动机Trie失配指针多模式匹配

Trie字典树构建。AC自动机核心:Trie上加类似KMP的fail指针。fail指针的BFS构建。多模式串同时匹配高效实现。AC自动机+DP统计每种模式出现次数。

📋 Trie构建/AC自动机板子/关键词过滤
63

计算几何基础

向量叉积凸包极角排序

二维向量表示与运算(加减/点积/叉积)。叉积的方向意义与面积意义。点与线的位置关系。极角排序。Andrew monotone chain求凸包。旋转卡壳求直径。射线法判断点在多边形内外。

📋 叉积应用/凸包模板/点在多边形内判断
🏆

阶段四项目:算法综合挑战赛

综合项目阶段考核20 题

涵盖搜索/DP(线性+背包+区间+树形+状压+数位)/图论进阶(Tarjan/网络流)/数学/字符串/计算几何的20道CSP提高组难度综合题。

📋 交付物:20道提高组级别算法题 + 阶段测评报告
🎯

阶段五:DP 深度与高级 DS

L65 - L80 · 动态规划专项突破与高级数据结构

65

DP 优化(上):单调队列与斜率优化

单调队列优化斜率优化决策单调性

普通DP O(n²)不够用时怎么办。单调队列优化DP维护候选决策点。斜率优化的几何直觉:直线截距的最值。识别可斜率优化的转移方程形式。决策单调性简介。

📋 单调队列优化DP/斜率优化经典题
66

DP 优化(下):四边形不等式与其他

四边形不等式WQS二分CDQ分治

四边形不等式优化区间DP:O(n²)到O(n log n)。WQS二分带权二分把限制转为代价用二分处理。CDQ分治基于时间的分治降维。各类优化方法适用场景速查表。

📋 四边形不等式优化/WQS二分/CDQ分治优化
67

树链剖分

树剖重链轻链LCA树上查询

树链剖分目的:把树上路径问题转化为区间问题。重儿子与轻儿子的划分。重链与轻链的跳跃访问。配合线段树实现树上路径查询/修改。LCA最近公共祖先多种求法(倍增/树剖/Tarjan)。

📋 树剖板子/树上路径和查询/LCA多种实现
68

虚树

虚树关键点LCA排序压缩树

只需处理树上一部分关键点时不需要遍历整棵树——虚树只保留这些点和它们之间的LCA构成的压缩树。构建算法(dfn排序+单调栈)。虚树上DP应用。典型考法总结。

📋 虚树构建板子/虚树上DP关键路径
69

费用流与上下界网络流

费用流最小费用最大流上下界

从最大流到费用流:每条边增加单位费用。最小费用最大流SPFA在残量网络上找最短费用增广路。上下界可行流有流量下限约束的流网络。无源汇/有源汇上下界流转化的技巧。

📋 费用流板子/上下界网络流/任务分配优化
70

二分图与匹配算法

二分图匈牙利KM算法

二分图判定(染色法)。匈牙利算法增广路交替找匹配。多种解法(Hungarian/网络流/Hopcroft-Karp)。完美匹配与覆盖。KM算法带权最大完备匹配(最佳匹配)。

📋 匈牙利算法/二分图最大匹配/最佳匹配应用
71

差分约束系统

差分约束最短路建模不等式组

一组形如 xj - xi ≤ ck 的不等式如何求解。转化为图上的最短路问题建模。判可行性(是否有负环)。求特解。差分约束在竞赛中的经典建模套路。

📋 差分约束板子/区间约束/时间安排建模
72

可持久化 DS(上):主席树

主席树可持久化历史版本Kth Number

可持久化动机:保留数据结构的每一个历史版本。可持久化线段树每次修改只新建受影响的O(log N)个节点。静态区间第K大的经典应用。空间换时间权衡。

📋 静态区间Kth/主席树板子/可持久化数组
73

可持久化 DS(下):高级应用

可持久化Trie可持久化并查集

可持久化Trie维护历史版本异或最大值查询。可持久化并查集支持回到之前版本状态。可持久化平衡树Treap/Splay简介。竞赛中出现频率与应对策略。

📋 可持久化Trie/可持久化并查集/异或最大值查询
74

整体二分与 CDQ 分治

整体二分CDQ分治离线算法

整体二分同时对所有询问进行二分而非逐一处理。CDQ分治基于时间的分治用左半修改更新右半查询。三维偏序问题的经典舞台。离线算法的整体思维模式。

📋 整体二分板子/CDQ分治三维偏序/动态逆序对
75

分块算法

分块根号算法莫队算法

分块哲学:分成√N块整块暴力/散块单独处理的优雅折中。莫队算法离线区间查询神器O(N√N)。带修莫队扩展。块状链表数组与链表的混合体。当其他高级DS不好写时分块能兜底。

📋 分块模板/莫队算法/带修改区间查询
76

随机化算法

模拟退火爬山遗传算法

当正解太难写或想不到时,随机化可能是救命稻草。模拟退火模仿金属退火的搜索策略。爬山贪心的随机版本。遗传算法简介。正确性讨论:期望得分与通过概率。

📋 模拟退火TSP/随机化贪心/爬山搜索
77

FFT 快速傅里叶变换

FFT多项式乘法NTT卷积

多项式乘法朴素O(n²)为何慢。FFT核心:系数表示与点值表示相互转换。蝶形运算与分治实现。NTT模意义下做FFT避免精度。FFT/NTT应用(高精度加速/卷积加速)。

📋 FFT板子/多项式乘法/NTT加速卷积
78

矩阵与线性代数应用

矩阵快速幂高斯消元线性基

矩阵快速幂回顾与更多应用(fibonacci加速/路径计数)。高斯消元解线性方程组/求行列式/求矩阵秩。线性基异或空间中找极大线性无关组(最大异或和/第K大)。矩阵树定理预告。

📋 矩阵快速幂/高斯消元/线性基板子
79

高级数据结构杂谈

平衡树Treap李超树

Treap堆属性+BST属性的随机平衡树。Splay频繁访问操作均摊O(log n)。FHQ Treap分裂/合并简洁实现。李超线段树维护直线集合的区间最值查询(斜率优化DP利器)。根据竞赛趋势选择性深入。

📋 FHQ Treap板子/李超线段树/平衡树综合
🏆

阶段五项目:进阶算法综合攻关

综合项目阶段考核15 题

覆盖DP优化/树链剖分/网络流进阶/可持久化/分块/FFT/线性代数/高级DS的15道NOIP提高组/CSP-S以上难度综合题。

📋 交付物:15道进阶算法题 + 阶段测评报告
🎖️

阶段六:竞赛冲刺

L81 - L96 · 真题训练、模拟赛与实战技巧

81

CSP-J 真题精讲(一):2019-2020

CSP-J真题入门组逐题解析

2019-2020年CSP-J入门组真题逐题讲解。分析每道题知识点定位、解题切入点、常见错误与扣分原因。建立真题手感——熟悉命题风格与难度梯度。时间分配策略。

📋 独立完成2020 CSP-J真题全套
82

CSP-J 真题精讲(二):2021-2022

CSP-J真题趋势分析

2021-2022年CSP-J真题精讲。观察命题趋势变化:哪些知识点考查频率上升?新题型值得关注?对比四年试卷结构演变。针对弱项制定强化计划。

📋 独立完成2022 CSP-J真题全套
83

CSP-S / NOIP 真题精讲(一)

CSP-S真题提高组NOIP

CSP-S提高组/NOIP近年精选。提高组的难度跨度与入门组的本质区别。Day1与Day2题目分布规律。部分分策略:拿不到满分时通过特殊性质骗尽可能多分数。「暴力分」的艺术。

📋 完成一套提高组真题(限时4小时)
84

CSP-S / NOIP 真题精讲(二)

提高组真题难点攻克正解分析

继续提高组真题精讲。重点攻克 Day1 T3/T4 和 Day2 T3/T4 级别难题。正解思维链条还原:从题目特征到算法选择的推理过程。建立自己的「题型-算法」映射库。

📋 完成第二套提高组真题+正解复盘笔记
85

模拟赛(一):入门组水平

模拟赛限时评分排名

严格按CSP-J赛制模拟赛(4题/240分钟/OI评分模式)。赛后逐题讲评:标准解法、复杂度分析、常见错误汇总。个人排名与薄弱环节诊断。针对性补强建议。

💻 交付物:模拟赛试卷 + 个人诊断报告
86

模拟赛(二):提高组水平

模拟赛提高组高压环境

提高组难度模拟赛。体验真正竞赛压力:时间不够用/一道题卡住影响全局/最后时刻取舍决策。赛后心理与技术复盘并重。训练「遇到不会的题怎么最大化拿分」的应试智慧。

💻 交付物:提高组模拟赛 + 心理与技术的双重复盘
87

竞赛策略与应试技巧

策略时间管理骗分对拍

开题顺序科学选择。时间分配黄金法则。部分分获取策略(暴力/特殊数据/打表/随机化)。对拍技术:用暴力程序检验正解正确性的必备技能。文件读写/多组数据细节避坑。CE/RE/TLE/WA快速排查清单。

📋 编写个人「竞赛 Checklist」备忘录
88

代码调试与 Bug 排查专项

调试对拍边界测试

竞赛中最贵的技能不是写代码而是找Bug。系统化的调试方法学(二分位置法/打印中间值/构造极端数据)。对拍系统的搭建与使用。常见Bug模式库(数组越界/未初始化/整数溢出/精度丢失/忘记清空)。

📋 搭建完整对拍系统 + 调试10道错题
89

综合模拟赛(一)

全真模拟4小时OI赛制

完全仿照正式比赛的全真模拟。赛前准备流程演练。赛中时间分配实时记录。赛后全方位复盘:技术层面(选题/编码/调优)+ 心理层面(焦虑管理/压力应对)。

💻 交付物:全真模拟赛 + 完整复盘报告
90

综合模拟赛(二)

全真模拟查漏补缺

第二次全真模拟,题目难度略高于第一次。重点检验上次复盘后的改进是否落实。暴露新的弱项并立即制定补救方案。建立考前冲刺优先级清单。

💻 交付物:第二套模拟赛 + 改进验证报告
91

考前冲刺:弱项特训

针对性训练查漏补缺强化

根据前两个阶段的测评结果,为每位学员定制个性化弱项强化方案。DP薄弱?集中刷DP经典题。图论不稳?专题突破Tarjan和网络流。代码实现慢?限时手写板子提速训练。

📋 完成个性化弱项强化练习(至少20题)
92

考前冲刺:高频考点速记

板子复习易错点套路总结

信息学奥赛高频考点与必背板子速览。线段树/Dijkstra/ Tarjan / Dinic / KMP / 高精度等核心板子的默写与计时考核。近三年出题频率统计TOP10知识点回顾。易错陷阱大盘点。

📋 默写全部核心板子 + 易错点自查表
93

团队协作与讨论训练

团队讲解Peer Learning

学会给他人讲解你的思路——费曼学习法的竞赛版。小组讨论模式:每人轮流讲一道题的正解。从「我会做」到「我能讲清楚别人能听懂」的能力跃迁。培养未来 NOI 团队赛的协作基础。

📋 每人主讲2道难题 + 小组互评打分
94

自由项目:原创算法作品

自由创作项目制综合能力

运用所学知识完成一个自选方向的深度项目:可以是解决某个复杂问题的完整程序、一个可视化算法演示工具、或者对某一类问题的系统性研究总结。培养独立研究与工程落地能力。

📋 交付物:原创项目源码 + 技术文档
95

结课准备:作品整理与展示

结课展示Portfolio

整理96课时以来的所有代码作品与解题记录。制作个人编程成长 Portfolio。撰写结课总结报告:知识图谱绘制、能力自评、目标规划。准备结课演讲的内容与PPT。

📋 交付物:个人Portfolio + 结课总结报告
🏆

结课盛典:信奥成果发布会

结课仪式家长开放日证书颁发

96课时的终点也是新征程的起点。全员参与结课展示:个人项目演示 + 解题分享 + 成长故事。颁发结业证书与阶段性成就表彰(最快进步/最佳代码/最强思维等)。家长开放日同步进行,让家长见证孩子的蜕变。后续学习路径规划一对一咨询。

📅 交付物:结业证书 + 个人成长档案 + 后续规划建议

竞赛路线图

从入门到国集的成长路径

小学 4-6 年级
兴趣启蒙期
Scratch 图形化 → Python 入门 → C++ 语言基础。培养编程兴趣,建立计算思维。可参加 CSP-J 初赛体验。
初中 1-2 年级
能力积累期
系统学习基础算法与数据结构。参加 CSP-J 并争取一等,开始接触 CSP-S 提高组题目。洛谷绿名/蓝名目标。
初中 3 年级 / 高一
竞赛突破期
深入学习 DP / 图论进阶 / 高级数据结构。CSP-S 提高组获奖目标。NOIP 省一/省二冲击。可选性参加区域选拔赛。
高一 - 高二
巅峰冲刺期
NOI 省选冲刺省队名额。全国决赛 NOI 银牌/金牌目标。部分同学可通过强基计划/保送进入顶尖高校计算机相关专业。
长期发展
无论竞赛成绩如何,96课时建立的算法思维和编程能力是终身受益的核心竞争力。升学优势 + 专业方向 + 职业发展三位一体。

课程特色

为什么选择我们的信奥课程

📚
对标竞赛体系
完全对接 NOI / CSP-J-S / NOIP 赛制,每节课都围绕真实竞赛知识点设计
🎯
96课时深度覆盖
6大阶段96节课,从零基础到提高组全覆盖,不留知识盲区
💻
项目驱动教学
每个阶段都有综合性项目实战,不只是刷题而是真正做出东西来
🌟
真题模拟训练
阶段六专攻历年真题 + 全真模拟赛,提前适应真实考试节奏与压力
🧪
算法思维优先
不只教语法和模板,更注重培养「看到问题就能想到解法」的思维直觉
🚀
竞赛出口清晰
CSP-J/S 一等 → NOIP 省一 → 省选 → NOI 国决,路径明确可量化
📐
配套板子库
提供完整的竞赛常用代码模板库(线段树/Dijkstra/Tarjan/Dinic/KMP 等),开袋即用
💬
小班精细化辅导
每班限额,确保每位学员都能获得充分的答疑与代码 Review 机会

上课流程

每节课 90 分钟的科学安排

📖

知识讲解

新概念引入与原理解析,配合图示与动画帮助理解抽象算法思想

25 min
💻

代码示范

老师现场编写核心代码,讲解每一行的设计意图与容易踩坑的地方

20 min
✏️

动手实践

学员独立完成 2-3 道练习题,老师巡回指导,即时纠错答疑

30 min
📊

总结拓展

当堂小结 + 作业布置 + 拓展思考题,有余力的学员可以挑战更高难度

15 min

学完你将获得

编程能力 + 竞赛实力双丰收

💻 编程硬技能

  • 精通 C++ 语言,能熟练使用 STL 标准库
  • 掌握 15+ 种经典算法(排序/搜索/DP/贪心/分治等)
  • 掌握 10+ 种核心数据结构(栈/队列/树/图/线段树/BIT等)
  • 具备 OJ 在线判题系统的日常训练习惯与方法
  • 拥有完整的竞赛代码模板库,开赛即用
  • 代码风格规范,调试能力强,能独立排查复杂 bug

🎯 竞赛软实力

  • 具备算法思维:看到问题能快速联想到合适的解法方向
  • 时间复杂度敏感度:一眼估算出代码能否通过时限
  • 应试策略成熟:懂得取舍、会拿部分分、善用暴力骗分
  • 心理素质过硬:高压环境下仍能稳定发挥正常水平
  • 自学能力强大:能独立阅读英文题面、查阅官方文档
  • 目标路径清晰:知道自己在哪个阶段、下一步该往哪走

开启信息学奥赛之路

96 课时,从零到 CSP 获奖。不只是一门课,更是通向顶尖高校计算机专业的黄金跳板。

➡ 返回首页查看更多课程