CSP-J/S 初赛宝典

📋 NOI 2025 大纲 · CSP-J 入门组知识体系

NOI 2025 版大纲将 CSP-J 知识点分为 6 大类,涵盖计算机基础、程序设计、数据结构与算法。

类别知识点初赛复赛重要度
计算机基础计算机发展史、硬件组成(CPU/内存/外存)、信息编码(ASCII/Unicode)、进制转换(二/八/十/十六进制)、存储单位⭐⭐⭐
程序设计C++ 基本语法(变量/常量/数据类型/运算符)、输入输出(cin/cout/scanf/printf)、顺序/选择/循环结构、数组、字符串、函数与递归、结构体⭐⭐⭐⭐⭐
数据结构线性表、栈(stack)、队列(queue)、链表、二叉树(定义/遍历)、图(邻接矩阵/表)、哈希表⭐⭐⭐⭐
算法基础枚举法、模拟法、排序(冒泡/选择/插入/快速/归并)、查找(顺序/二分)、递推、递归、贪心、分治⭐⭐⭐⭐⭐
算法进阶动态规划(背包/LIS)、搜索(DFS/BFS)、最短路径(Dijkstra/Floyd)、最小生成树⭐⭐⭐⭐
数学基础数论基础(质数/gcd/lcm)、排列组合、容斥原理、概率初步⭐⭐⭐

🏆 初赛 vs 复赛对比

维度初赛(第一轮)复赛(第二轮)
形式笔试(选择 + 阅读程序 + 完善程序)机试(4 道编程题)
时长2 小时3.5 小时
满分100 分400 分(每题 100 分)
通过率约 20%~30%评奖(一/二/三等奖)

📝 初赛题型与备考策略

一、单项选择题(15 题,每题 2 分,共 30 分)

高频

计算机基础

冯·诺依曼结构、进制转换、原码/反码/补码、存储单位

高频

C++ 语法

数据类型大小、运算符优先级、循环次数、数组下标

高频

数据结构概念

栈(LIFO)、队列(FIFO)、树的性质、图基础

中频

算法复杂度

大 O 记号、排序/查找复杂度分析

中频

数学基础

排列组合 C(n,m)/A(n,m)、逻辑运算

低频

网络与安全

IP 地址、TCP/IP、计算机病毒

二、阅读程序题(3 大题,每大题约 5-6 题,共 40 分)

模拟执行代码。常见:循环嵌套、递归、字符串/数组操作。

三、完善程序题(2 大题,每大题5小题,共 30 分)

填空完成算法。常见:排序、查找、递推、贪心、DFS/BFS。

🎯 高频考点 TOP 10

  1. 进制转换
  2. 原码/反码/补码
  3. 运算符优先级
  4. 循环执行次数
  5. 数组与下标
  6. 递归分析
  7. 时间复杂度
  8. 字符串处理
  9. 排序算法
  10. 数据结构性质

📋 NOI 2025 大纲 · CSP-S 提高组知识体系

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)⭐⭐⭐⭐

🏆 J 组 vs S 组对比

维度CSP-J 入门组CSP-S 提高组
初赛题型选择+阅读程序+完善选择+阅读程序+完善+多选
复赛题数4 题4 题
复赛时长3.5 小时4 小时
满分400 分400 分
核心难度模拟/贪心/DP/图论基础线段树/树形DP/网络流/KMP
一等奖线~200 分~150 分

📝 初赛题型与备考策略(S 组)

一、单项选择题(15 题,每题 2 分,共 30 分)

高频

编译原理

预处理/编译/汇编/链接四阶段、g++ 编译选项

高频

Linux 命令

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 定理

二、阅读程序题(3大题,每大题 6–8 小题,共 40 分)

给出一段 C++ 代码,分析输出/时间复杂度/功能。S 组代码包含指针、STL、递归等高级特性。

三、完善程序题(2大题,每大题 5 题,共 30 分)

填空完成算法代码。S 组常考:线段树 build/update/query、KMP getNext、树形 DP dfs 框架。

🎯 S 组初赛高频考点 TOP 10

  1. 编译过程(g++ -E/-S/-c/-O2)
  2. Linux 命令
  3. 位运算(x&-x、x&(x-1))
  4. 时间复杂度分析(DP/线段树/图论算法)
  5. 指针与引用
  6. 并查集路径压缩复杂度
  7. 卡特兰数与排列组合
  8. 树的性质(节点数/边数/高度)
  9. 递归与记忆化
  10. STL 容器复杂度(map/unordered_map)
💻 计算机基础 初赛重点
🏗️冯·诺依曼结构必考
🔢进制与转换必考
🔣原码/反码/补码必考
💾存储单位常考
🔤ASCII 编码常考
⌨️ C++ 语法基础 初赛+复赛
📐数据类型与大小必考
运算符与优先级必考
📥输入输出常考
🔁条件与循环必考
📊数组(一维/二维)必考
📝字符串 string必考
⚙️函数与递归必考
🏗️结构体 struct常考
🗂️ 数据结构 核心
📚栈(Stack)必考
🚶队列(Queue)必考
🔗链表常考
🌳二叉树必考
🕸️图的基本概念常考
#️⃣哈希表了解
🧮 算法基础 核心
🔍枚举与模拟必考
📋排序算法必考
🔎二分查找必考
🔄递推与递归必考
🎯贪心算法必考
✂️分治算法常考
🚀 算法进阶 核心
📈动态规划 DP必考
🔽DFS 深度优先搜索必考
🔜BFS 广度优先搜索必考
🛣️最短路径常考
🌉最小生成树了解
📐拓扑排序了解
📐 数学基础 初赛重点
🔢质数与最大公约数常考
🎲排列组合必考
📊容斥原理常考
🎰概率初步了解
💻 计算机基础(进阶) 初赛重点
⚙️编译过程必考
🐧Linux 常用命令必考
🖥️操作系统基础常考
⌨️ C++ 进阶 初赛+复赛
👉指针与动态内存必考
🔢位运算技巧必考
📦STL 高级用法常考
🗂️ 高级数据结构 核心
🌲线段树必考
📊树状数组必考
🔗并查集必考
📖字典树 Trie常考
📐ST 表(RMQ)常考
🧮 算法进阶 核心
📏区间 DP必考
🌳树形 DP必考
🎭状压 DP常考
🔢数位 DP常考
⬆️倍增法必考
🕸️ 图论进阶 核心
🔄Tarjan SCC必考
🌿LCA 最近公共祖先必考
🎯二分图匹配常考
🌊网络流 Dinic常考
📝 字符串算法 核心
🔍KMP 算法必考
#️⃣字符串哈希必考
↔️Manacher 回文串常考
📐 数学进阶 初赛+复赛
快速幂必考
扩展欧几里得必考
🔄逆元与模运算必考
🎲组合数学进阶常考