| 维度 | 具体目标 |
|---|---|
| 知识与技能 | 掌握前缀和、差分的定义与互逆关系;能独立完成「区间修改 + 最后查询」类题目;掌握增减序列的 P/Q 结论。 |
| 过程与方法 | 经历「暴力超时 → 找重复计算 → 预处理存结果」的优化过程,建立复杂度意识。 |
| 情感态度 | 建立「样例通过 ≠ 写法正确」的工程判断意识,不以样例论英雄。 |
| 环节 | 教师活动 | 学生活动 | 设计意图 |
|---|---|---|---|
| ① 引入 5′ | 第 2 页抛出「同一件事被问 10 万次」的反问;板书暴力 vs 前缀和的复杂度。 | 口算 n=m=10⁵ 时暴力要跑多久,承认会超时。 | 制造认知需求,让优化成为学生自己的愿望而非教师的命令。 |
| ② 前缀和 8′ | 第 3 页推导 s[r]-s[l-1];故意写错成 s[r]-s[l] 让学生验算。 | 用 a=[5,8,12,6] 查 [2,3],算出 20 与 12,指出后者错。 | 用具体数钉死边界,比反复强调「注意减一」有效得多。 |
| ③ 差分 10′ | 第 4–5 页讲互逆与分工;第 7 页开差分模拟器,逐步演示 b[l]/b[r+1] 变化。 | 预测下一步哪个格子会变,再点「下一步」验证。 | 把不可见的中间数组外显,突破抽象难点。 |
| ④ 例题1 10′ | 第 8–9 页水桶清单;先写 d[t]-=b 让学生用样例验,再纠正为 d[t+1]。 | 上机提交 BUCKET,自查数组是否开到 1105。 | 落实流水线;借机培养「样例过不等于对」的判断力。 |
| ⑤ 例题2 10′ | 第 10–11 页增减序列;用配对消元模拟器让学生自己数出 max(P,Q)。 | 跟着模拟器数配对次数,归纳结论后再看公式印证。 | 结论由学生归纳而非灌输,记得牢。 |
| ⑥ 小结 2′ | 第 13 页 5 条自检清单齐读。 | 齐读并标记自己的薄弱条。 | 把方法固化成可执行的检查动作。 |
s[r]-s[l]:少减一个,会漏掉 a[l]。② b[r]-=x:区间是闭区间,r 本身要被修改,必须减在 r+1。③ 数组只开 n:b[r+1] 越界,且是静默越界,本地可能不崩。④ 忘了还原:改完 b 直接输出 b,没求前缀和。⑤ 增减序列用 int:n=10⁵、a_i=10⁹ 时 P 可达 10¹⁴,必须 long long。| 等级 | 标准 |
|---|---|
| 达标 | 能独立写出水桶清单的差分标程并通过 OJ。 |
| 良好 | 能说出增减序列 P/Q 结论的由来(配对消元),并独立完成 INCDEC。 |
| 优秀 | 能迁移:遇到新的「区间修改」题,自主判断可否用差分,并说清边界与数据类型。 |
① 默写两题标程;② 用前缀和改写一道自己做过的暴力求和题,对比运行时间;③ 思考:如果区间修改和区间查询交替进行,差分还够用吗?(引向线段树)