一、说课程 ············· 枚举为什么值得单开一个专题
二、说学情 ············· 会写循环,但不会「砍空间」
三、说教学目标与重难点
四、说教法学法
五、说授课时间与教学准备
六、说教学过程(一个情境 · 六个环节)
七、说板书设计
八、说教学反思
| 维度 | 现状 | 对本课的影响 |
|---|---|---|
| 知识基础 | 能熟练写 for 嵌套、数组存取、while 循环;初步接触过枚举题 |
代码门槛不是主要障碍,思维门槛才是 |
| 能力短板 | 拿到题直接开始写循环,很少先问"要枚举谁、一共多少种情况" | 必须在第 1、2 个环节把"先想后写"强制建立起来 |
| 典型错误 | 用 int 存大答案、取模忘加 n、死循环不判终止、数组开小越界 |
这些错误必须在真机上被抓出来,讲一遍是不够的 |
| 心理特点 | 集训期连续上课,注意力容易下滑;但对"能立刻看到评测结果"的上机环节兴趣高 | 用椰程信奥 OJ 的即时反馈作为课堂节奏调节器 |
| 水平差异 | 有的学生 5 分钟写完,有的学生读题就要 5 分钟 | 同一道题设置"基础通关 + 进阶变式"两级任务 |
| 维度 | 目标 | 可观测的行为 |
|---|---|---|
| 建模能力 | 能对一道新题说出"枚举要素是什么、一共有多少种情况" | 读题后 1 分钟内能列出要素与规模估算 |
| 算法思维 | 能判断枚举空间是否需要、以及如何压缩 | 能说出"哪些情况根本不用枚举"并给出理由 |
| 工程实现 | 能独立写出无边界错误、无溢出、无死循环的枚举代码 | 两道真题在 OJ 上 AC 全部测试点 |
| 自我检测 | 养成"先看数据范围 — 再估复杂度 — 最后动手写"的习惯 | 提交前能完成四项自查清单 |
| 方法 | 具体做法 | 对应难点 |
|---|---|---|
| 问题链驱动法 | 每个环节用一组递进追问推进:"枚举谁?→ 一共多少种?→ 要不要全枚?→ 怎么写不出错?" | 难点一(思维) |
| 可视化具身法 | 把 4×4 网格铺开成 8×8,学生上台用手指沿着走位,"绕回去"变成身体记忆而非口头规则 | 难点一(思维) |
| 单步模拟法 | 传送带一题用互动课件逐步"走一步 / 自动走",在图形回到起点的瞬间按暂停 | 难点二(工程) |
| 错误前置法 | 易错辨析先全班举手表决再揭晓,让错误前概念先暴露,再对症纠偏 | 难点一、二 |
| 即时评测法 | 两道真题当场在椰程信奥 OJ 提交,用评测结果替代教师判对错 | 难点二(工程) |
| 学法:先想后写 | 草稿纸上先写"枚举要素 + 情况总数 + 复杂度估算",教师检查后再允许动键盘 | 四大目标 |
| 环节 | 内容 | 时间 |
|---|---|---|
| ① | 情境导入:从"上次复赛 T1 你拿了几分"切入,立起"先枚后优"的价值观 | 5′ |
| ② | 环节一:枚举是什么 + 四步法 | 10′ |
| ③ | 环节二:枚举的常见题型地图(四类八小类) | 8′ |
| ④ | 环节三:真题一 [ABC258B] 数字盒子(读题 → 铺开推演 → 八方向枚举 → 方向数组 → 代码走读 → 现场提交) | 25′ |
| ⑤ | 环节四:真题二 [ABC265C] 传送带(读题 → 单步模拟 → 判环 → 代码走读 → 现场提交) | 25′ |
| ⑥ | 环节五:易错辨析(四条判断先投票后讲理) | 7′ |
| ⑦ | 环节六:小结知识树 + 当堂检测 3 题 | 10′ |
| 合计 | 90′ | |
ENUM258B 数字盒子(12 个测试点,30 + 70 分档)、ENUM265C 传送带(13 个测试点,40 + 60 分档),数据含样例、边界、随机与 25 万步长路径。第一步 · 读题并登记要素(4′)
第二步 · 铺开图推演"为什么是 9786"(5′)
第三步 · 八方向枚举演示(5′)
第四步 · 代码走读与易错点(6′)
第五步 · 现场提交(4′)
第一步 · 读题 + 手走样例(6′)
第二步 · 单步模拟:抓住判环的瞬间(6′)
第三步 · 代码走读 + 两连问(7′)
第四步 · 现场提交(6′)
黑板左侧为知识主线(随课生成,不预先写满),右侧为现场生成的示意图。
| 左列 · 知识主线 | 右侧 · 现场板图 |
|---|---|
|
枚举 穷尽 + 判断 四步法 ① 建模型:枚举谁?多少种? ② 砍空间:范围?哪些不必枚? ③ 定顺序:前往后 / 后往前 ④ 会判断:拼数 · 取模 · 判环 真题一 数字盒子 起点 N² × 方向 8 → 8N² 种 环形偏移:(x+dx+n) % n 答案用 long long 真题二 传送带 不枚举,照格模拟 vis 判环 → −1;出界 → 输出当前格 |
① 一个 4×4 网格手绘,把右下角的路线连出来,箭头绕到左上,旁边写 9→7→8→6; ② 铺开的 8×8 简图,标出"绕回去"的接口; ③ 传送带的 2×3 小网格,画出一圈回到 (1,1) 的闭合箭头,旁边写 −1; ④ 一句话结论框:能枚就枚,先拿分再优化 |
| 风险 | 预案 |
|---|---|
| 学员水平差异大 | 同一题设两级任务:基础任务是 AC 全部测试点;进阶任务是把"移动步数"改成输入给定的 K 步,重新分析枚举覆盖面是否变化。先完成的同学去做进阶,不空等。 |
| 上机时间被压缩 | 保底砍法:环节③题型地图压缩到 3 分钟(只留四大类名称),环节⑥易错辨析改为课后在题单里作答,确保真题二留足 25 分钟。 |
| 评测机排队或断网 | 课件内置模拟器承担推演部分;教师用本地标程现场运行代替在线评测,课后把提交任务布置到题单,下一节课先看榜。 |
| 学生对枚举"不服气" | 不辩论,直接给数据:用课件展示"8N² ≤ 800 次操作"的规模,再反问"这个规模需要优化吗"。用事实代替说教。 |
| 限时 | 取舍建议 |
|---|---|
| 10 分钟 | 按本稿完整口播;教学过程按"环节①一句 + ②③各两句 + ④⑤各 1 分半 + ⑥⑦各两句"分配,两处难点各留一处停顿。 |
| 8 分钟 | 舍弃环节③题型地图,环节⑧教学反思只讲"亮点三"与"上机时间被压缩"两条预案。 |
| 5 分钟 | 只讲三大块:学情与难点(为什么难)、教学过程的两处可视化推演(怎么破)、题库与评测设计(怎么验)。 |
国庆集训_枚举_互动课件.html(单文件、零依赖、16 页)ENUM258B 数字盒子(12 测试点 / 30 + 70 分)、ENUM265C 传送带(13 测试点 / 40 + 60 分)国庆集训_枚举_原题与答案.md(题面、思路、AC 代码、易错点表、数据设计说明)导入说明.md(网页导入 / 命令行导入、参数速查、排错表)