本讲定位:复赛冲刺系列第 02 讲。只服务一个目标:CSP-S 一等。

  1. ⚠️ CSP-S 七年 7 道 T1 里,6 道是 S 层(基本盘),占 86%。 只有 1 道是 S⭐(2022 T1 假期计划)。**T1 不是"难题的开头",它是一道独立的、可以被彻底吃掉的送分题。
  2. ⚠️ 同样 7 道 T2,只有 2 道是 S 层,占 29%;其余 5 道 S⭐、1 道 S⭐⭐。T1 和 T2 之间有一个陡坎,两者不该用同一种打法。
  3. ⚠️ 8 道 T1 里,贪心 3 道、模拟/枚举 3 道,合计 6 道 = 75%。 剩下两道是计数 DP 和图论 BFS。**T1 的考点高度集中,可以专项训练。
  4. 七年 T1 没有一道需要高级数据结构。 最重的工具是优先队列(2021 廊桥分配)。**T1 丢分从来不是因为不会算法。

前置:basic-series/03(贪心)、basic-series/04(枚举与模拟)。

适合对象:冲 S 一等的学生必读全文。


1. 先看清楚 T1 是什么

1.1 七年八道 T1

年 洛谷 题名 主考点 层
2019 D1 P5657 格雷码 构造 + 位运算(basic-04 / math) S
2020 P7075 儒略日 模拟(basic-04)
2021 P7913 廊桥分配 贪心(basic-03)
2022 P8817 假期计划 图论 BFS 预处理(graph-series) S⭐
2023 P9752 密码锁 枚举(basic-04) S
2024 P11231 决斗 贪心(basic-03)
2025 P14361 社团招新

T1:一个贪心或模拟,nn 不大。2021 廊桥分配、2024 决斗、2025 社团招新都是"想通一句话就写完"的题。T1 不会做 = 无缘一等奖。

1.2 那道例外说明什么

2022 T1 假期计划(S⭐,图论)——这道不是"送分的 T1"。

2022——七年里唯一一次把 S⭐ 放在 T1 位置上。

结论:T1 是 S 层的概率是 75%,但不是 100%。 所以考场上不能默认"T1 一定简单"—— 通读完再定作战顺序**。如果 T1 一眼看去不像三十分钟能写完的题,那一年可能就是 2022。

1.3 131 分的算式

T1 满分 100
还差 31
从哪来 T2 的一档部分分,或 T3/T4 的暴力分

所以本讲的结构是:2–4 讲怎么把 T1 吃满,5–6 讲 T2 的 31 分怎么抠。


2. T1 的考点高度集中

八道题的主考点:

主考点 次数 年份
贪心(basic-03) 3 2021 廊桥分配、2024 决斗、2025 社团招新
模拟 / 枚举 / 构造(basic-04) 2019 D1 格雷码、2020 儒略日、2023 密码锁
图论(graph-series) 1 2022 假期计划

贪心 + 模拟枚举 = 6/7 = 86%。

这意味着 T1 是可以专项训练的。 不需要复习全部算法——把贪心和模拟练到不出错,就基本覆盖了T1。

2.1 三道贪心 T1 的共同形态

题 那"一句话"
2024 决斗 P11231 相同攻击力的怪兽互相吃不掉 → 答案就是众数的出现次数
2025 社团招新 P14361 nn 偶数、每社团上限 n/2n/2 → 抽屉原理保证最多一个社团超限,单独处理它
2021 廊桥分配 P7913 廊桥数固定时贪心分配是最优的 → 枚举分界点 + 前缀和,两边各算一次

三道题的结构完全一样:

题面给一个看起来复杂的过程
      ↓
有一个条件("相同的吃不掉" / "上限 n/2" / "廊桥数固定")
      ↓
这个条件把问题塌缩成一句话
      ↓
代码 20 行

T1 贪心题的难点不在算法,在"敢不敢相信自己推出来的那句话"。

学生最常见的失败模式是:推出了正确结论,但因为"这也太简单了吧"而不敢写,转去想复杂做法,然后时间没了。

2.2 怎么建立这个信心

用数据范围反推(01-contest-strategy.md §3):

  • 2024 决斗 n≤105n\le10^5 → 只能 O(n)O(n) 或 O(nlog⁡n)O(n\log n) → 不可能有复杂做法,只能是一个 O(n)O(n) 的统计
  • 2025 社团招新同理

当数据范围只允许 O(n)O(n),而你想到了一个 O(n)O(n) 的结论——那八成就是答案。 数据范围是出题人给你的确认信号。

2.3 三道模拟/枚举 T1 的共同形态

题 形态
2023 密码锁 P9752 状态空间只有 10510^5 → 直接枚举所有可能的原始密码,求交集
2020 儒略日 P7075 没有算法,全是分段与边界(儒略历 / 1582 切换 / 格里高利历),long long
2019 D1 格雷码 P5657 递归找规律,按位确定

这一类的难点也不在算法,在两件事:

  1. 敢不敢估算状态空间然后直接暴力(密码锁)
  2. 有没有耐心把分类讨论做全(儒略日)

3. 逐题过:三道贪心 T1

3.1 2024 T1 决斗(P11231)

题意:nn 个怪兽各有攻击力,每轮攻击力最大的可以吃掉攻击力最小的(同攻击力不能互吃),问最后最少剩几只。

推理链:

  1. 攻击力相同的怪兽之间谁也吃不掉谁 → 设某个值出现了 cc 次,这 cc 只至少剩 1 只吗?不对,是至少剩…… 想清楚:它们必须被攻击力更大的吃掉,而一只大的一轮只能吃一只。
  2. 于是答案的下界是众数的出现次数。
  3. 这个下界能取到(构造:每次让大的去吃当前最多的那一组里的一只)。

代码骨架(O(n)O(n) 或排序后 O(nlog⁡n)O(n\log n)):

读入 a[1..n]
用桶 / 排序统计每个值出现次数
答案 = 最大出现次数

失分点:值域大时忘了离散化或用 map;不敢相信结论去写复杂模拟。

讲义指回:basic-series/03-sorting-and-greedy.md §3。

3.2 2025 T1 社团招新(P14361)

题意:nn 名新生(nn 为偶数)各有首选社团,每个社团人数不能超过 n/2n/2,要把所有人分配掉。

推理链:

  1. 统计每个社团的首选人数 cic_i。
  2. ∑ci=n\sum c_i = n,上限是 n/2n/2 → 最多只有一个社团的 ci>n/2c_i > n/2(两个都超就超过 nn 了)——这就是抽屉原理。
  3. 没有社团超限 → 全部按首选分配,完事。
  4. 有一个社团超限 → 只需处理这一个,把多出来的人分给别处。

失分点:没看出 n/2n/2 是抽屉条件,去写复杂的匹配 / 网络流。

3.3 2021 T1 廊桥分配(P7913)

题意:机场有国内、国际两类航班共用一批廊桥,要把 mm 个廊桥分给两类,最大化能停靠的航班总数。

推理链:

  1. 给定廊桥数时,贪心分配(谁先来谁先用,用优先队列维护空闲廊桥)是最优的——这一步要用交换论证说服自己(basic-series/03 §4)。
  2. 于是可以独立地算出:国内用 kk 个廊桥能停多少架(k=0..mk=0..m),国际同理。
  3. 枚举分界点 kk,答案是 max⁡k(f国内(k)+f国际(m−k))\max_k (f_{国内}(k) + f_{国际}(m-k))。

这道题的结构值得单独记:

"两个部分共享一个总量,求最优划分" → 各自算前缀函数,然后枚举分界点。

这是 S 组反复出现的套路。

失分点:优先队列的比较器写反;ff 数组的前缀单调性没利用。


4. T1 零失误清单

T1 丢分几乎从来不是因为不会算法。

那分丢在哪?按可控程度排:

# 丢分原因 对策
1 推出了结论但不敢写 用数据范围确认。n≤105n\le10^5 只允许 O(nlog⁡n)O(n\log n),你的简单结论就是答案
2 分类讨论漏情况 儒略日、策略游戏这类。写之前在草稿纸上把所有情况列出来编号,写完逐条对
3 没开 long long T1 的数据范围常常故意卡在 2312^{31} 边缘
4 边界:n=1n=1、全相等、最小/最大值 交卷前手输三组
5 读入格式 / 多测清空 tools/precheck.sh
6 花太久 T1 超过 30 分钟就说明判断失误了,回头重读题

把这张表贴在显示器上。 S 一等的 131 分里有 100 分在 T1,而这 100 分的敌人是这六条,不是算法。

4.1 T1 的时间纪律

时刻 动作
读完题 先判断:这是不是 S 层的"一句话题"?
想 ≤ 10 分钟 说得出那"一句话"就动手
写 ≤ 15 分钟 T1 的代码通常 20–40 行
超过 30 分钟还没过样例 回头重读题面——大概率是题意理解错了,不是算法错了

5. T2 是另一回事

5.1 七年七道 T2

年 洛谷 题名 主考点 层
2019 D1 P5658 括号树 树上 DP S⭐
2020 P7076 动物园 位运算 + 枚举 S
2021 P7914 括号序列 区间 DP S⭐
2022 P8818 策略游戏 贪心 + 分类讨论 S
2023 P9753 消消乐 栈 + DP S⭐
2024 P11232 超速检测 贪心(区间覆盖)+ 二分
2025 P14362 道路修复 MST + 子集枚举

只有 2/8 = 25% 是 S 层,其余 5 道 S⭐、1 道 S⭐⭐。

T1 到 T2 之间有一个陡坎。 T1 的 75% 是基本盘,T2 的 75% 是区分一等奖的题。两者不该用同一种打法。

5.2 T2 的正确打法:只要 31 分

回到算式:T1 满分 100 + T2 抠 31 = 131。

你不需要做出 T2。 你需要的是它的一档部分分。

T2 低档能拿什么
2024 超速检测 O(nm)O(nm) 暴力(对每辆车枚举每个检测点),十五分钟能写完
2025 道路修复 暴力枚举保留哪些边,每次跑 MST
2023 消消乐 O(n2)O(n^2) / O(n3)O(n^3) 枚举所有子串逐个模拟消除
2021 括号序列 小 nn 暴力枚举每个未定位置填什么
2022 策略游戏 O(nm)O(nm) 双重枚举——这一档往往就有 30~40 分
2019 D1 括号树 O(n2)O(n^2):每个点单独扫一遍到根的路径

六道题的低档全是"直接按题意暴力",没有一道需要巧思。

这就是 §1.3 那 31 分的来源。 按 01-contest-strategy.md §4.1:一道题的最低档通常值 20~30 分,而暴力通常十五分钟能写完。

5.3 那两道 S 层的 T2 要拿满

2020 动物园和 2022 策略游戏是 S 层——遇到这种年份,T2 应该按 T1 的标准去打,拿满分。

怎么认出来?看数据范围和题面复杂度:

  • 2022 策略游戏:n,m≤105n,m\le10^5,问题是"两个数组各选一个数求乘积的博弈" → 前缀极值 + 分类讨论正负。没有算法门槛,全是分类。
  • 2020 动物园:按位统计,O(n⋅64)O(n\cdot 64)。没有算法门槛。

判据:如果 T2 读完之后你能用一两句话说清楚要干什么,且数据范围允许直接做——那就是 S 层的 T2,按 T1 的标准打,目标满分。

如果读完之后需要设计状态、建模、或者想不出怎么把复杂度降下来——那是 S⭐,只拿低档。


6. T2 的时间纪律

阶段 时长 动作
读题 + 判层 3′ S 层还是 S⭐
若是 S 层 ≤ 30′ 按 T1 标准打,目标满分
若是 S⭐:想正解 ≤ 20′ 说得出状态和转移就写;说不出进下一步
若是 S⭐:写暴力 15′ 20~30 分到手,131 的缺口就补上了
扫子任务表加特判 10′ 再加 10~20 分
撤 — 去 T3(本系列卷子的 T5)或回去检查 T1

7. 识别信号:看到什么想到什么

考场上看到 立刻想到
T1 读完能用一句话说清要干什么 75% 的年份就是这样。动手,别怀疑
T1 的 n≤105n\le10^5 而你想到了 O(n)O(n) 结论 数据范围在确认你
T1 题面里有一个"看起来多余"的条件(nn 为偶数、上限 n/2n/2、互不相同) 那个条件就是解法。2025 社团招新的 n/2n/2 就是抽屉
T1 状态空间能估出来且 ≤106\le10^6 直接暴力枚举。2023 密码锁就是这样
T1 全是分段和边界,没有算法 2020 儒略日型。草稿纸列全所有情况再动手,开 long long
T1 超过 25 分钟还没过样例 回头重读题面,大概率题意错了
T2 读完能一两句说清 + 数据范围允许直接做 S 层 T2(25% 的年份),按 T1 标准打,拿满分
T2 需要设计状态 / 建模 / 降复杂度 S⭐(75% 的年份),想 20 分钟不行就写暴力
T2 的暴力是"直接按题意做" 写它。这 20~30 分就是 131 的缺口

8. 常见错误与考点分析

错误 1(S 最贵的一个):把 T1 当成"难题的开头"来敬畏。 七年 86% 的 T1 是基本盘。T1 丢分 = 一等奖没了(csps-round2-analysis §3 原话:"T1 不会做 = 无缘一等奖")。

错误 2:推出了简单结论但不敢写。 用数据范围反推确认。

错误 3:T1 的分类讨论漏情况。 儒略日、策略游戏这一类。写之前在草稿纸上把情况编号列全,写完逐条对。

错误 4:T2 想做满分。 S 一等只要 T2 的 31 分。在 T2 上追求满分,往往是把 T1 的检查时间也赔进去。

错误 5:没判 T2 的层就开打。 S 层的 T2(2020、2022)应该拿满,S⭐ 的只拿低档——这两种打法差别很大,判错代价很高。

错误 6:T1 没开 long long。 T1 的数据范围常常故意卡在 2312^{31} 边缘。


9. 小结

  1. CSP-S 七年 7 道 T1 里 6 道是 S 层(86%),贪心 3 道 + 模拟枚举 3 道也是 86%。T1 是可以专项吃掉的。
  2. 131 分 = T1 满分 100 + 再抠 31。 那 31 分从 T2 的低档暴力来。
  3. T1 丢分从来不是因为不会算法(七年最重的工具只是优先队列),而是:不敢写、漏分类、没开 long long、边界、读入、超时。
  4. T1 贪心题的结构都一样:题面里有一个"看起来多余"的条件,它把问题塌缩成一句话。那个条件就是解法。
  5. T1 超过 25 分钟还没过样例 → 回头重读题面,大概率是题意错了。
  6. T2 有 75% 是 S⭐,不要想做满分。 先判层,S 层的拿满,S⭐ 的只拿低档暴力。

0 条评论

目前还没有评论...