统一省选历年真题题单
整理 2020 年起 CCF 统一命题的 NOI 省队选拔真题,按年份与试次排列,覆盖 A/B 卷到 2022 年起的合并卷。
统一省选历年真题题单
本题单整理 CCF 统一命题的 NOI 省队选拔(俗称"省选联考")真题,目前收录 2020 到 2026 年,共 48 题。
为什么要单独做这一份
2020 年之前,各省省选由本省自行命题,风格差异极大。CCF 在 2020-01-10 的通知中改为:
从 2020 年开始,NOI 省队选拔由 CCF 命题和评测,有能力命题的省可自行命题,但选拔方式需得到 CCF 的批准。
2022 年起进一步统一(通知):
共安排两试,每试 3 道题,不再区分 A/B 试卷类型。
也就是说:2020 年之后绝大多数省份考的是同一套题。HNOI2015、SDOI2014 这类老省选题练的是已停考的风格,而本题单收录的才是现行考法。
收录口径
- 只收录 CCF 统一命题的省选联考,不含各省自主命题的
XXOI系列。 - 2020–2021 年分 A / B 卷,标注
A卷、B卷、A/B卷(两卷共用的题)。 - 2022 年起合并为单一试卷,每年两试共 6 题。
- 每题标注洛谷难度档:
提高+= 提高+/省选-,省选= 省选/NOI-,NOI= NOI/NOI+/CTS。 - 难度按现行洛谷 8 档体系,2026 年的题因难度评级仍在调整,仅供参考。
使用建议
省选是一场两试共 6 题、每试 5 小时的考试。建议按整年做,而不是按题单顺序刷:
text
Day1:限时 5 小时,做完 T1–T3
Day2:限时 5 小时,做完 T4–T6
然后逐题复盘:暴力分怎么拿 / 正解关键观察 / 最容易错在哪第一遍不要看题解,目标是把能拿的分全部拿到手;第二遍再补正解。
目录
2020 统一省选
2020 年是 CCF 统一命题的第一年,分 A、B 两卷,部分题目两卷共用。
A 卷
- luogu P6623洛谷原题· 树
- 难度:省选
- 训练目的:把「子树内所有点的 (权值 + 距离) 异或和」化成 01-Trie 上的合并,练习 Trie 合并与全局加一的惰性写法。
- luogu P6624洛谷原题· 作业题
- 难度:省选
- 训练目的:生成树计数与 gcd 的组合。需要先会矩阵树定理,再用莫比乌斯反演把「边权 gcd 恰好为 d」转成「gcd 是 d 的倍数」。
- luogu P6621洛谷原题· 魔法商店
- 难度:NOI
- 训练目的:拟阵与线性基。先理解「任意非空子集异或和不为 0」等价于线性无关,再处理带价格的拟阵最大权独立集。
- luogu P6620洛谷原题· 组合数问题
- 难度:省选
- 训练目的:把多项式 f(k) 用下降幂展开,配合二项式定理化简 ∑f(k)x^k·C(n,k)。练「多项式拆成下降幂再求和」这套组合恒等式技巧。
A/B 卷共用
- luogu P6622洛谷原题· 信号传递
- 难度:提高+
- 训练目的:状压 DP 优化。把「信号站排列」压成集合状态,用预处理的两两代价表把转移降到 O(2^m·m)。
- luogu P6619洛谷原题· 冰火战士
- 难度:提高+
- 训练目的:两个有序序列的平衡点查询。用树状数组或线段树上二分找「冰系能量和 ≥ 火系能量和」的分界点,练带权中位数的动态维护。
B 卷
- · 卡牌游戏
- 难度:普及-
- 训练目的:贪心入门。每次把左侧连续若干张合并,本质是前缀和的最大化,练「什么时候该停」的贪心判断。
- luogu P6626洛谷原题· 消息传递
- 难度:提高+
- 训练目的:树上距离计数。一次询问 (x,k) 求「到 x 距离恰好为 k 的点数」,练点分治或长链剖分。
- luogu P6627洛谷原题· 幸运数字
- 难度:普及+/提高-
- 训练目的:区间异或的离线处理。把三种奖励条件统一成「区间 + 值」的修改,练扫描线 + 异或懒标记。
- · 丁香之路
- 难度:NOI
- 训练目的:欧拉路径与最小生成树的结合。先想清楚「遍历所有带花的边」的充要条件,再处理奇度点的配对。
2021 统一省选
分 A、B 两卷,部分题目两卷共用。
A 卷
- luogu P7520洛谷原题· 支配
- 难度:省选
- 训练目的:支配树。先学 Lengauer-Tarjan 或从 DAG 情况入手建支配树,再处理「加一条边后受支配集变化」的询问。
- luogu P7515洛谷原题· 矩阵游戏
- 难度:省选
- 训练目的:差分约束。由 b 反推 a 时自由度是「每行每列一个偏移量」,把值域约束写成差分约束系统。
A/B 卷共用
- luogu P7518洛谷原题· 宝石
- 难度:省选
- 训练目的:树上路径按顺序收集。把「按宝石种类顺序」拆成倍增预处理 + 树链剖分或重链上二分。
- luogu P7519洛谷原题· 滚榜
- 难度:提高+
- 训练目的:状压 DP + 排序。把「过题数」压成状态,按封榜后榜单的单调性剪掉大量非法转移。
- · 图函数
- 难度:省选
- 训练目的:按编号删点的可达性。倒序加边 + Floyd 式松弛,练「删点变加点」的常见转化。
- luogu P7514洛谷原题· 卡牌游戏
- 难度:提高
- 训练目的:二分答案 + 双指针。先二分极差,再判断能否用不超过 m 次翻面让所有数落进区间。
B 卷
- luogu P7517洛谷原题· 数对
- 难度:普及
- 训练目的:数论入门。枚举倍数关系,练 O(n log n) 调和级数复杂度。
- luogu P7521洛谷原题· 取模
- 难度:提高+
- 训练目的:三数取模最大值。先排序固定最大值,再对余数分类讨论,练「取模后值域有限」的枚举技巧。
2022 统一省选
从这一年起不再区分 A/B 卷,每年两试共 6 题。
- luogu P8289洛谷原题· 预处理器
- 难度:普及+/提高-
- 训练目的:模拟 + 字符串处理。实现宏展开,注意递归展开、空定义和展开顺序。
- luogu P8290洛谷原题· 填树
- 难度:省选
- 训练目的:树上路径计数 + 值域扫描。把「路径上权值单调递增」转成按权值排序后加点,练「按值域增量维护连通块」。
- luogu P8291洛谷原题· 学术社区
- 难度:NOI
- 训练目的:字符串与图论的结合。把网名相同/不同的约束建成 2-SAT 或并查集,再处理消息序列。
- luogu P8292洛谷原题· 卡牌
- 难度:省选
- 训练目的:容斥 + 状压。每轮给出若干质数要求「乘积被它们整除」,把小质数状压、大质数单独容斥。
- luogu P8293洛谷原题· 序列变换
- 难度:NOI
- 训练目的:括号序列的树形结构。把合法括号序列看成树,变换操作对应树上操作,练括号序列 ↔ 树的互相转化。
- luogu P8294洛谷原题· 最大权独立集问题
- 难度:NOI
- 训练目的:树上 DP + 信息传递建模。把 AI 之间的通信约束建成图,在图上求最大权独立集。
2023 统一省选
- luogu P9166洛谷原题· 火车站
- 难度:普及+/提高-
- 训练目的:区间覆盖 + 可达性。轨道是区间,换轨只能在覆盖点,练「区间图上的连通性」。
- luogu P9169洛谷原题· 过河卒
- 难度:省选
- 训练目的:博弈 + BFS。棋盘上红黑双方轮流走,用状态图上的胜负判定(逆推 BFS)而非 SG 值。
- luogu P9167洛谷原题· 城市建造
- 难度:NOI
- 训练目的:连通块大小约束的计数。先分析「额外加的边」必须满足的结构,再做带限制的生成树计数。
- luogu P9168洛谷原题· 人员调度
- 难度:NOI
- 训练目的:树上贪心 + 数据结构。部门是树,员工可上调,求最优调度,练「树上合并 + 可并堆」。
- luogu P9170洛谷原题· 填数游戏
- 难度:NOI
- 训练目的:双人构造博弈。Alice 先写、Bob 后写,需要分析后手优势区间并构造策略。
- luogu P9171洛谷原题· 染色数组
- 难度:NOI
- 训练目的:红升绿降的双序列划分。等价于判断能否拆成两个单调序列,练 Dilworth 定理与偏序集。
2024 统一省选
- luogu P10217洛谷原题· 季风
- 难度:提高+
- 训练目的:线性不等式组的最小非负整数解。把条件写成前缀和约束,二分答案后判可行性。
- luogu P10218洛谷原题· 魔法手杖
- 难度:省选
- 训练目的:位运算贪心 + 二分。从高位到低位确定答案的每一位,用可行性检查剪枝。
- luogu P10219洛谷原题· 虫洞
- 难度:NOI
- 训练目的:有向图上的时序约束。虫洞带建造时间,需要把「时间」这一维纳入建模。
- luogu P10220洛谷原题· 迷宫守卫
- 难度:省选
- 训练目的:满二叉树上的贪心与 DP。叶子到根路径上的守卫唤醒有代价,练树上最优决策。
- luogu P10221洛谷原题· 重塑时光
- 难度:NOI
- 训练目的:排列与时间线。把「事件顺序被打乱」建模成排列上的等价类计数。
- luogu P10222洛谷原题· 最长待机
- 难度:NOI
- 训练目的:程序语义 + 博弈。需要先读懂 Sleep++ 的执行规则,再分析双方的最优策略。
2025 统一省选
- luogu P11830洛谷原题· 幸运数字
- 难度:提高
- 训练目的:区间内可重集中位数的取值范围。练「给定每个数的取值范围,求中位数可能的最大值」这类极值分析。
- luogu P11831洛谷原题· 追忆
- 难度:省选
- 训练目的:有向图可达性 + 动态维护。两个排列作为权值并支持交换,查询满足可达条件的最大权值,练「动态图 + 数据结构」。
- luogu P11832洛谷原题· 图排列
- 难度:NOI
- 训练目的:由图的边集反推排列。需要从二元组的性质出发,分析排列的可行条件。
- luogu P11833洛谷原题· 推箱子
- 难度:提高+
- 训练目的:贪心 + 线段树。数轴上箱子不能重叠且目标位置单调,练「相邻约束下的调度可行性」。
- luogu P11834洛谷原题· 岁月
- 难度:NOI
- 训练目的:随机图上的期望。每条边独立地变成有向边或消失,求连通性相关期望,练概率 DP + 并查集。
- luogu P11835洛谷原题· 封印
- 难度:NOI
- 训练目的:序列操作与势能分析。每次选严格前缀最大值插入尾部再删前缀,需要分析操作的势能变化。
2026 统一省选
2026 年的题目难度评级仍在洛谷调整中,档位仅供参考。
- luogu P15649洛谷原题· 找寻者
- 难度:提高+
- 训练目的:轻重链剖分的结构计数。题目直接以「自定义重儿子选择」为背景,是检验 HLD 理解深度的好题。
- luogu P15650洛谷原题· 摩卡串
- 难度:省选
- 训练目的:子串字典序计数。求「恰好有 k 个子串字典序小于它」的最短子串,练后缀数组/后缀自动机上的计数。
- luogu P15651洛谷原题· 夜空
- 难度:NOI
- 训练目的:异或归约与逆推。从左右两端不断把两个数换成异或和,需要分析可逆性与不变量。
- luogu P15652洛谷原题· 排列游戏
- 难度:提高
- 训练目的:交互式猜排列。询问 mex 来还原排列,练信息量与构造。
- luogu P15653洛谷原题· 星图
- 难度:NOI
- 训练目的:图上操作的不变量。每次选 k 个点翻转两两之间的边,分析可达状态与不变量。
- luogu P15654洛谷原题· 工业系统
- 难度:NOI
- 训练目的:换根 + 树上统计。以每个点为根时所有后代产物都要汇聚,练换根 DP 与子树聚合。
进度总览
| 年份 | 题数 | 已 AC |
|---|---|---|
| 2020 A 卷 | 4 | 0 |
| 2020 A/B 卷 | 2 | 0 |
| 2020 B 卷 | 4 | 1 |
| 2021 A 卷 | 2 | 0 |
| 2021 A/B 卷 | 4 | 0 |
| 2021 B 卷 | 2 | 0 |
| 2022 | 6 | 0 |
| 2023 | 6 | 0 |
| 2024 | 6 | 0 |
| 2025 | 6 | 0 |
| 2026 | 6 | 0 |
| 合计 | 48 | 1 |
与其他题单的关系
- 算法点系统训练:洛谷-试炼场:省选斗兽场/NOI 神殿
- 知识点路径:洛谷官方深入浅出进阶篇题单
- NOI 正赛:NOI 历年真题题单
- 上一级认证:CSP-S 历年真题题单
顺序建议:先用进阶篇把算法点铺开,再用本题单做整年模拟,最后用省选斗兽场补薄弱专题。