AcWing动态规划类问题
皓首不倦
算法爱好者 码农一枚 欢迎志同道合 技术爱好者加微信CODER-GRH 非技术人员勿扰
展开
-
AcWing 动态规划题目 1027 方格取数
''' 动态规划拓展,两个人一起移动 ''' from functools import lru_cache # 两个人坐标分别为i1, k-i1 和i2, k-i2 时候的总最大收益 @lru_cache(typed=False, maxsize=128000000) def dp(k, i1, i2): j1, j2 = k - i1, k - i2 if k == 0: return grid.get((0, 0), 0) ans = 0 f.原创 2020-07-20 13:25:08 · 139 阅读 · 0 评论 -
ACWing 动态规划类题目 1018 最低通行费
''' 简单二维动态规划 ''' from functools import lru_cache @lru_cache(typed=False, maxsize=128000000) def dp(i, j): if i == 0 and j == 0: return grid[0][0] ans = 0x7fffffff if i - 1 >= 0: ans = min(ans, dp(i - 1, j) + grid[i][j]) .原创 2020-07-20 13:23:52 · 160 阅读 · 0 评论 -
AcWing 动态规划类题目 1015 摘花生
import sys sys.stdin = open('./data.txt', 'r') ''' 简单二维动态规划 ''' grid = [None] * 110 memo = [None] * 110 T = int(input()) def dp(i, j): if memo[i][j] is not None: return memo[i][j] if i == 0 and j == 0: return grid[0][0] a.原创 2020-07-20 13:22:40 · 241 阅读 · 0 评论 -
AcWing 动态规划类题目 275 传纸条
''' 跟方格取数是一个题目,还是简单的DP ''' from functools import lru_cache # 两个人坐标分别为i1, k-i1 和i2, k-i2 时候的总最大收益 @lru_cache(typed=False, maxsize=128000000) def dp(k, i1, i2): j1, j2 = k - i1, k - i2 if k == 0: return grid[0][0] ans = 0 for ii.原创 2020-07-20 13:21:04 · 164 阅读 · 0 评论