day44 动态规划part7 代码随想录算法训练营 70. 爬楼梯 (进阶)

题目:

  1. 爬楼梯 (进阶)-在卡尔网

我的感悟:

  • 昨天最后没怎么听懂的,今日回旋镖来了。

理解难点:

  • 递推公式,和遍历顺序

手写笔记:

代码示例:

total, m = map(int, input().split())  # 每次爬m个
# dp[i]含义是爬到i有dp[i]种方法 # 是完全背包问题
dp = [0] * (total + 1)
dp[0] = 1
for j in range(total+1):    # 遍历背包
    for i in range(1,m+1):  # 遍历物品
        if j >= i:
            dp[j] += dp[j - i]

print(dp[total])

测试截图:

扩展写法:

资料:

  1. 爬楼梯 (进阶) 

这道题目 爬楼梯之前我们做过,这次再用完全背包的思路来分析一遍 

https://programmercarl.com/0070.%E7%88%AC%E6%A5%BC%E6%A2%AF%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E7%89%88%E6%9C%AC.html

posted @ 2024-02-29 10:29  o蹲蹲o  阅读(7)  评论(0编辑  收藏  举报