欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

题目:动态规划(1)

程序员文章站 2022-03-16 17:33:46
...

题目:动态规划(1)

题目图片描述如下:
1~8表示8个区段,红色标出每个区段的工价,横轴表示时间,每个时间点只能完成一份工,请问一个员工一天最多可以赚多少钱?
题目:动态规划(1)

python实现如下

#注意:prev和Vi为了索引i从0开始,故加入prev[0]、Vi[0]的初始化值
#该初始化值不影响计算,只为了使索引从0开始
prev = [0,0,0,0,1,0,2,3,5]
Vi =  [0,5,1,8,4,6,3,2,4]
dp = [0] #边界条件
for i in range(1,9):
    dp.append(max(dp[i-1],dp[prev[i]]+Vi[i]))
print(max(dp))

题目出自B站教学:https://www.bilibili.com/video/BV18x411V7fm?from=search&seid=9787459590994725124