NOI 2025 版大纲将 CSP-J 知识点分为 6 大类,涵盖计算机基础、程序设计、数据结构与算法。
| 类别 | 知识点 | 初赛 | 复赛 | 重要度 |
|---|---|---|---|---|
| 计算机基础 | 计算机发展史、硬件组成(CPU/内存/外存)、信息编码(ASCII/Unicode)、进制转换(二/八/十/十六进制)、存储单位 | ✅ | — | ⭐⭐⭐ |
| 程序设计 | C++ 基本语法(变量/常量/数据类型/运算符)、输入输出(cin/cout/scanf/printf)、顺序/选择/循环结构、数组、字符串、函数与递归、结构体 | ✅ | ✅ | ⭐⭐⭐⭐⭐ |
| 数据结构 | 线性表、栈(stack)、队列(queue)、链表、二叉树(定义/遍历)、图(邻接矩阵/表)、哈希表 | ✅ | ✅ | ⭐⭐⭐⭐ |
| 算法基础 | 枚举法、模拟法、排序(冒泡/选择/插入/快速/归并)、查找(顺序/二分)、递推、递归、贪心、分治 | ✅ | ✅ | ⭐⭐⭐⭐⭐ |
| 算法进阶 | 动态规划(背包/LIS)、搜索(DFS/BFS)、最短路径(Dijkstra/Floyd)、最小生成树 | ✅ | ✅ | ⭐⭐⭐⭐ |
| 数学基础 | 数论基础(质数/gcd/lcm)、排列组合、容斥原理、概率初步 | ✅ | ✅ | ⭐⭐⭐ |
| 维度 | 初赛(第一轮) | 复赛(第二轮) |
|---|---|---|
| 形式 | 笔试(选择 + 阅读程序 + 完善程序) | 机试(4 道编程题) |
| 时长 | 2 小时 | 3.5 小时 |
| 满分 | 100 分 | 400 分(每题 100 分) |
| 通过率 | 约 20%~30% | 评奖(一/二/三等奖) |
冯·诺依曼结构、进制转换、原码/反码/补码、存储单位
数据类型大小、运算符优先级、循环次数、数组下标
栈(LIFO)、队列(FIFO)、树的性质、图基础
大 O 记号、排序/查找复杂度分析
排列组合 C(n,m)/A(n,m)、逻辑运算
IP 地址、TCP/IP、计算机病毒
模拟执行代码。常见:循环嵌套、递归、字符串/数组操作。
填空完成算法。常见:排序、查找、递推、贪心、DFS/BFS。
CSP-S 在 J 组基础上大幅加深,涵盖高级数据结构、图论、动态规划进阶、字符串和数学。
| 类别 | 知识点 | 初赛 | 复赛 | 重要度 |
|---|---|---|---|---|
| 计算机基础 | 编译过程、Linux 命令、操作系统(进程/线程/死锁) | ✅ | — | ⭐⭐⭐ |
| C++ 进阶 | 指针与动态内存、位运算(lowbit/x&(x-1))、STL 高级(unordered_map/deque/multiset) | ✅ | ✅ | ⭐⭐⭐⭐ |
| 高级数据结构 | 线段树、树状数组、并查集、字典树 Trie、ST 表(RMQ) | ✅ | ✅ | ⭐⭐⭐⭐⭐ |
| 算法进阶 | 区间 DP、树形 DP、状压 DP、数位 DP、倍增法 | ✅ | ✅ | ⭐⭐⭐⭐⭐ |
| 图论进阶 | Tarjan SCC 缩点、LCA、二分图匹配、网络流 Dinic | ✅ | ✅ | ⭐⭐⭐⭐ |
| 字符串 | KMP 算法、字符串哈希、Manacher 回文串 | ✅ | ✅ | ⭐⭐⭐⭐ |
| 数学进阶 | 快速幂、exgcd、逆元与模运算、组合数学(卡特兰/错排/Lucas) | ✅ | ✅ | ⭐⭐⭐⭐ |
| 维度 | CSP-J 入门组 | CSP-S 提高组 |
|---|---|---|
| 初赛题型 | 选择+阅读程序+完善 | 选择+阅读程序+完善+多选 |
| 复赛题数 | 4 题 | 4 题 |
| 复赛时长 | 3.5 小时 | 4 小时 |
| 满分 | 400 分 | 400 分 |
| 核心难度 | 模拟/贪心/DP/图论基础 | 线段树/树形DP/网络流/KMP |
| 一等奖线 | ~200 分 | ~150 分 |
预处理/编译/汇编/链接四阶段、g++ 编译选项
ls/cd/cp/mv/rm/mkdir/g++/time/diff
lowbit、x&(x-1)、移位、异或技巧
线段树 O(log n)、倍增 O(n log n)、Tarjan O(V+E)
并查集复杂度、线段树节点数、Trie 空间
卡特兰数、错排、挡板法、Lucas 定理
给出一段 C++ 代码,分析输出/时间复杂度/功能。S 组代码包含指针、STL、递归等高级特性。
填空完成算法代码。S 组常考:线段树 build/update/query、KMP getNext、树形 DP dfs 框架。