统一省选历年真题题单

整理 2020 年起 CCF 统一命题的 NOI 省队选拔真题,按年份与试次排列,覆盖 A/B 卷到 2022 年起的合并卷。

0 / 0 已完成

统一省选历年真题题单

本题单整理 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

与其他题单的关系

顺序建议:先用进阶篇把算法点铺开,再用本题单做整年模拟,最后用省选斗兽场补薄弱专题。