第三章作业

1.实验报告:
1.1 递归方程与边界条件
状态定义:dp [i][j] 表示从起点 (1,1) 走到 (i,j) 的最小通行费,a [i][j] 为该方格费用
最优子结构:到 (i,j) 只能从上方 (i-1,j) 或左方 (i,j-1) 到达,最优解由两个子问题最优解得到
递归方程:dp [i][j]=min (dp [i-1][j],dp [i][j-1])+a [i][j]
边界条件:dp[1][1]=a[1][1]
第一行:dp [1][j]=dp [1][j-1]+a [1][j]
第一列:dp [i][1]=dp [i-1][1]+a [i][1]

1.2 填表说明

  • 维度:二维 N×N 的 dp 表
  • 填表范围:1≤i≤N,1≤j≤N
  • 填表顺序:先填起点,再填第一行、第一列;之后从上到下、每行从左到右填表,保证计算时所依赖的值已算出
  • 原问题最优值:dp [N][N]

1.3 复杂度
时间复杂度:O (N²),一共 N² 个状态,每个状态常数运算
空间复杂度:O (N²),存放二维 dp 数组

2.动态规划的思考重点在于挖掘问题内在的递推联系:先把原问题拆解为子问题,定义状态来表示子问题的最优结果,再建立状态之间的转移关系,自底向上逐步推导。它的优势在于复用子问题的解,舍弃重复运算,从而高效求出全局最优

posted @ 2026-11-03 21:42  SayneW  阅读(4)  评论(0)    收藏  举报