首页 > 其他分享 >第三章总结

第三章总结

时间:2024-11-03 23:19:32浏览次数:1  
标签:总结 状态 方程 第三章 复杂度 动态 规划 dp

第三章总结

  1. 请写出作业“算法第三章3”中题目“7-4 最低通行费”的动态规划方程

请按照如下格式书写动态规划方程:
(1)状态表示:

(2)状态方程:

(3)边界条件:

(4)时间、空间复杂度分析

动态规划方程:

(1)状态表示:
设 dp[i][j] 表示从左上角 (0, 0) 到达网格中 (i, j) 位置的最小费用。

(2)状态方程:
dp[i][j] = grid[i][j] + min(dp[i-1][j], dp[i][j-1], dp[i+1][j] (if i < N-1), dp[i][j+1] (if j < N-1))
其中,grid[i][j] 表示网格中 (i, j) 位置的费用。注意,由于不能越界,所以在考虑 dp[i+1][j] 和 dp[i][j+1] 时需要判断索引是否小于 N-1。

(3)边界条件:
dp[0][0] = grid[0][0],因为从起点开始没有额外的费用。

(4)时间、空间复杂度分析:
时间复杂度:O(N^2),因为我们需要遍历整个网格一次。
空间复杂度:O(N^2),因为我们需要一个二维数组来存储每个位置的最小费用。

  1. 结合本章的学习,总结你对动态规划法的体会和思考

体会和思考:
动态规划的核心思想通过将问题分解为更小的子问题,并存储这些子问题的解来避免重复计算,从而显著提高算法的效率,其中每个问题的解都依赖于其子问题的解。动态规划的关键在于如何定义状态以及状态之间的转移关系。在动态规划中,我们需要定义一个或多个状态变量来表示问题的当前状态。而状态转移方程描述了如何从一个或多个先前状态转移到当前状态,并计算出当前状态的最优解。
我觉得动态规划的难点在于如何正确地定义状态和状态转移方程,这通常需要深入理解和分析问题。还要学会识别哪些类型的问题适合用动态规划解决,并能够灵活地定义状态和状态转移方程。但是我又觉得动态规划理解起来还蛮有趣的,看解析理解了题目然后分析问题的时候虽然有点绕,但是理解完觉得很好玩,特别是一些题目列出矩阵然后在读取和输出的时候,列动态方程的时候都比较巧妙,

标签:总结,状态,方程,第三章,复杂度,动态,规划,dp
From: https://www.cnblogs.com/llydbk/p/18524202

相关文章

  • LeetCode题练习与总结:两整数之和--371
    一、题目描述给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和。示例1:输入:a=1,b=2输出:3示例2:输入:a=2,b=3输出:5提示:-1000<=a,b<=1000二、解题思路这个问题可以通过位运算来解决。位运算中的“与”操作(&)和“异或”操作(^......
  • LeetCode题练习与总结:超级次方--372
    一、题目描述你的任务是计算 a^b 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。示例1:输入:a=2,b=[3]输出:8示例2:输入:a=2,b=[1,0]输出:1024示例3:输入:a=1,b=[4,3,3,8,5,2]输出:1示例4:输入:a=2147483647,b=[2,......
  • 2024-2025-1 20241428张雄一《计算机基础与程序设计》第六周工作总结
    学期(如2024-2025-1)学号(如:20241428)《计算机基础与程序设计》第6周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业的目标<写上具体方面>作业正文https://i.cnblogs.com/posts/edit教材学习内容总结时间复杂度......
  • 2024-2025-1 20241304 《计算机基础与程序设计》第6周学习总结
    2024-2025-120241304《计算机基础与程序设计》第6周学习总结作业信息|这个作业属于哪个课程|<[2024-2025-1-计算机基础与程序设计](https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05)|>|-- |-- ||这个作业要求在哪里|<作业要求的链接>(如2024-2025-1计算机基础与程序设......
  • 学期2024-2025-1 学号20241424 《计算机基础与程序设计》第7周学习总结
    学期2024-2025-1学号20241424《计算机基础与程序设计》第7周学习总结作业信息|这个作业属于2024-2025-1-计算机基础与程序设计)||-- |-- ||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01||这个作业的目标|参考上面的学习总结模板,把学习过程通过......
  • 小白对python的一些概念的总结
    在python中常数<变量<常数是可以的  如if15<x<40:python的逻辑运算符只有三个andornot也就是与或非通俗来讲意思分别为并且或者不(否)其中andor要对两个或两个以上的操作对象进行链接但是not只能连接一个操作对象进行取反true变falsefalse变true 比如......
  • 10.28 ~ 11.3 总结
    联考联考打得不怎么样,一个原因是有两场T3T4全放DS,可能适合叫练习赛,但是顶个模拟赛的名字就有点有点了。但是省选联考本来认为擅长的T1这样的题目也没有做出来。题解还是在这里https://www.cnblogs.com/british-union/p/liankao.html。做题ARC155D对于博弈论的题目目前......
  • 2024-2025-1 20241327 《计算机基础与程序设计》 第六周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第六周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......
  • 学期2024-2025-1 学号20241306 《计算机基础与程序设计》第6周学习总结
    学期(如2024-2025-1)学号(如:20241300)《计算机基础与程序设计》第X周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里[2024-2025-1计算机基础与程序设计第6周作业(ht......
  • 2024-2025-1 20241409司马平珏《计算机基础与程序设计》第六周工作总结
    作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06作业目标:Polya如何解决问题、简单类型与组合类型、复合数据结构、查找与排序算法、算法复杂度、递归、代码安全作业正文:https://www.cnblogs.......