USACO Bronze 闯关讲义
你好!接下来大约 15 周,每周一次课,我们一起把 USACO Bronze 拿下。 你已经会写循环、会遍历数组,还学过二分查找和两种排序——起点比你想象的要高。
这份讲义不会先让你背一堆知识点。每一讲都从一道真正考过的题开始: 先自己试,卡住了再学“刚好够用”的新东西,然后用同类题巩固。全部学完,你会做过 50 多道 Bronze 真题。
每一讲怎么学 How Each Lesson Works
每一讲都按同样的五步走。习惯了这个节奏,你就能把注意力全放在题目上。
第一步的“卡住”是故意安排的。研究发现:先自己挣扎一会儿再听讲解,比直接听讲解记得更牢。 没做出来完全正常,那 15 分钟会让你带着问题去学,听讲解时更容易“啊,原来如此”。
设计依据
“直接刷真题”对只有语法基础的学生容易变成长时间空转。本课程结合两条研究结论:
- 样例效应(Sweller & Cooper, 1985):新手先看完整示范,学得更快。
- 有效失败(Kapur, 2008):先尝试、再讲授,迁移效果更好。
因此每讲的顺序是:先尝试 → 讲最少概念 → 精析例题 → 独立练习 → 复盘。
每次课的节奏 · 120 分钟
- 开场挑战
- 新概念
- 一起解
- 课堂练习老师在旁边看思路
- 收尾
课后与反馈
课后约 3 小时:每题先独立想 30 分钟,再逐级看提示。周末学生点“复制全部,发给老师”提交复盘,老师据此挑选下一讲的开场题。
你的起点 Where You Start
你已经会的东西都不会浪费,后面会反复用到。标着新的是 Bronze 需要、但你还没学过的。
| 内容 | 状态 | 会在哪里用到 |
|---|---|---|
| 基本语法、循环、遍历 | 会了 | 每一讲 |
| 冒泡排序、选择排序 | 会了 | 第 8 讲:看看为什么 std::sort 快那么多 |
| 二分查找 | 会了 | Bronze 很少考,第 8 讲顺带复习,升 Silver 时用得上 |
| 文件读写、估算速度 | 新 | 第 1–2 讲 |
| vector、string、set、map | 新 | 第 3、9 讲 |
| 枚举、排列、递归 | 新 | 第 5–6 讲 |
课程地图 Course Map
每学完一讲,就在这里打个勾,或者在那一讲最后点“我学完了”。两边是同步的。
做完了还想练?More Practice
每一讲只配了 3–5 道练习。如果某个知识点还不太熟,或者你做得很顺、想多来几道,就去 USACO Guide 题库。 它把几千道题按知识点、难度和来源整理好了,每道题还标着属于哪个学习模块。
- Section 选
Bronze,只看铜组范围的题。 - Modules 选和你刚学完的那一讲对应的模块(见下表)。
- Difficulty 先从
Very Easy、Easy开始,做顺了再往上加。 - Source 里的
Bronze和Old Bronze是 USACO 真题,CSES、CF等是其他网站的题,也都值得做。
| 学完 | 在 Modules 里选 |
|---|---|
| 第 1 讲 输入输出 | Input & Output |
| 第 4 讲 模拟 | Simulation |
| 第 5 讲 完全搜索(一) | Basic Complete Search |
| 第 6 讲 完全搜索(二) | Complete Search with Recursion |
| 第 7 讲 矩形几何 | Rectangle Geometry |
| 第 8 讲 排序 | Introduction to Sorting |
| 第 9 讲 set 与 map | Introduction to Sets & Maps |
| 第 10 讲 贪心 | Introduction to Greedy Algorithms |
| 第 11 讲 找规律 | Ad Hoc Problems |
| 第 12 讲 图论 | Introduction to Graphs |
每道题下面都有 View Solution(题解)。规矩和讲义里一样:先自己想至少 30 分钟,卡住了再看,看完还要自己重新写一遍。 第 2、3 讲(复杂度、vector 与 string)是基础工具,题库里没有单独的模块,它们会出现在后面每一类题里。
讲义里的小工具 Interactive Parts
讲义不只是拿来读的,里面有不少可以点的东西:
- 挑战计时器:开场题配一个 15 分钟倒计时,帮你专心想题。
- 术语卡片:带虚线的词,比如
模拟 ,鼠标移上去(手机上点一下)就能看到英文原词和解释。题面是英文的,这些词会经常见到。 - 动手演示:一步一步看程序在干什么,变量怎么变化。
- 小测验:随堂选择题,答错可以重选,每个选项都有解释。
- 分级提示:卡住时一次只给一点提示,能少看就少看。
- 答案遮罩:完整代码默认遮住,自己试过以后再打开。
- 复盘本:写完一键复制,直接发给老师。
你的勾选和笔记都只存在这台设备的浏览器里。换电脑或清空浏览器数据会丢失,记得复盘写完就发给老师。
关于比赛 About the Contest
USACO 每个赛季在网上办几场比赛。Bronze 每场 3 道题,限时几个小时,按通过的 vector、sort、set、map 都是你的武器。
参考资料
- USACO 官方网站:历年试题与赛制公告。usaco.org
- USACO Guide:Bronze 学习模块与题库。usaco.guide/bronze · usaco.guide/problems
- Laaksonen, A. Competitive Programmer's Handbook.
- Sweller, J., & Cooper, G. A. (1985). The use of worked examples as a substitute for problem solving in learning algebra. Cognition and Instruction, 2(1), 59–89.
- Kapur, M. (2008). Productive failure. Cognition and Instruction, 26(3), 379–424.
题目核对
✓ 第 1–4 讲的题目来源与链接已对照 usaco.org 核对;其余讲次在写作时核对。