Day31
第8天:动态规划(DP)基础(二)——二维DP与状态压缩(目标:420分,累计2920分)
今日任务:
- 完成4道二维DP题(如“不同路径”“最小路径和”“三角形最小路径和”),分值350-450分;
- 尝试“状态压缩”:将“不同路径”的二维DP(dp[i][j])优化为一维DP(dp[j]),对比空间复杂度(O(mn)→O(n));
- 每道题标注“状态转移的依赖关系”(如“dp[i][j]依赖于dp[i-1][j]和dp[i][j-1]”)。
今日感悟方向:
二维DP的“下标定义”容易混淆——比如“不同路径”中,dp[i][j]是“到达(i,j)的路径数”,i和j是否从0开始会影响初始条件(如dp[0][j]全为1,因为只能右移)。状态压缩的关键是“保留必要的历史数据”,比如一维DP中“dp[j] = dp[j](上一行的j) + dp[j-1](本行前一个)”,需避免覆盖未使用的历史值。
明日计划:图论基础——存储结构与遍历(DFS/BFS)。
浙公网安备 33010602011771号