椰程信奥 · 教案

动态规划2 · 教案

课题

CSP复赛专题17 · 动态规划2(区间DP + 线性DP进阶) —— 对应视频 23′48″,课件 14 页

教学目标

维度内容
知识与技能① 说出区间 DP 三层循环(长度→起点→分割点);② 完成最长回文子串; ③ 完成二叉排序树计数(含空区间初值);④ 用"反转 + LCS"求回文词最少插入数。
过程与方法通过错误顺序的可视化演示,形成"先检查依赖是否就绪"的习惯。
情感态度价值观体会算法中"顺序即正确性"。

教学重难点

重点:区间 DP 的填表顺序与初值;乘法/加法原理在 BST 计数中的应用。 难点:区分"回文子串(区间DP,连续)"与"回文词(LCS,可插入)"。

教学过程

环节页码教师活动学生活动设计意图
引入P2三层循环套路背诵建立骨架
顺序P3动画①对照找错突破难点
回文子串P4–5建模 + 动画②口述转移第一道题
BSTP6–7两原理 + 动画③解释初值第二道题
回文词P8–9LCS 应用 + 动画④辨析打通线性DP
检测P10–11辨析 + 四题独立完成形成性评价

板书设计

区间 DP 三层:len → i → k(长度 / 起点 / 分割点)
回文子串:dp[i][j] = (s[i]==s[j]) && (len==2 || dp[i+1][j−1])
BST 计数:dp[i][j] = Σ dp[i][k−1] × dp[k+1][j] ★ dp[i][j]=1 当 i>j
回文词:答案 = n − LCS(s, reverse(s))

易错预警

① 第一层写成 i(依赖未就绪);② 空区间初值漏掉(答案全 0); ③ 用 LCS 求回文子串;④ 卡特兰数爆 int(用 long long)。

作业