123
返回列表 发新帖
楼主: glambertjay
跳转到指定楼层
上一主题 下一主题
收起左侧

[动态规划] 看到一题 求思路

🔗
你毛毛啊 2020-8-28 11:55:19 | 只看该作者
全局:
glambertjay 发表于 2020-8-28 11:38
那我帖子里提到的这个sample能跑出来吗?我觉得正向就必须考虑路径的选择。

test过没问题的,我私聊你啦,咱们可以share下不同方法的代码
回复

使用道具 举报

🔗
War_Art 2020-8-28 16:44:52 | 只看该作者
全局:
记忆化递归,算得210,其他的没测过。
  1. def bt(i,j,d,p):
  2.         if i == m-1 and j == n-1:
  3.                 return max(1-int(array[i][j]),1)
  4.         if i >= m or j >= n:
  5.                 return float('inf')
  6.         if (i,j,d,p) in memo:
  7.                 return memo[(i,j,d,p)]
  8.         if array[i][j] != 'D' and array[i][j] != 'P':
  9.                 val = int(array[i][j])
  10.                 if d and val > 0:
  11.                         val = int(array[i][j])*2
  12.                         d = False
  13.                 elif p and val < 0:
  14.                         val = 0
  15.                         p = False
  16.         else:
  17.                 val = 0
  18.         v1 = bt(i+1,j,d or array[i][j] == 'D',p or array[i][j] == 'P')
  19.         v2 = bt(i,j+1,d or array[i][j] == 'D',p or array[i][j] == 'P')
  20.         memo[(i,j,d,p)] = max(min(v1,v2)-val,1)
  21.         return memo[(i,j,d,p)]
  22. array = [['-1']*5,['D','1','2','3','4'],['-1','-2','-3','1','2'],['5','10','-1','1','2'],['10','5','50','-1','-300']]
  23. m,n = len(array),len(array[0])
  24. memo = {}
  25. res = bt(0,0,False,False)
  26. print(res)
复制代码
[/i][/i][/i][/i][/i][/i][/i][/i][/i]
回复

使用道具 举报

🔗
Black Liu 2020-8-28 23:41:32 | 只看该作者
全局:
我觉得这俩本质上的思考方式不一样吧。
记忆递归的思路就像你代码写的,正想qiongju,不需要去考虑D或是P后面要选哪个,因为都会走到右边或是下边,直接比当前走到这个格子的值就好了
reverse DP是从结果出发,从最后结果出发到当前格子的最优解是什么。
这两个的区别可以类比为一个是bottom up的过程一个是top down的过程。
回复

使用道具 举报

🔗
mc2 2020-8-29 01:18:03 | 只看该作者
全局:
State挺多的。

用BinarySearch吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表