首页 > 其他分享 >【动态规划】数字三角形模型

【动态规划】数字三角形模型

时间:2022-10-10 18:24:41浏览次数:70  
标签:状态 i1 max 模型 i2 三角形 动态 AcWing

纯数字三角形模型

  1. 状态表示: (i, j)表示到达当前位置的最后一步如何, 共有两种状态
f[i - 1][j], f[i][j]
  1. 状态转移:
f[i][j] = max(f[i-1][j - 1] + q[i][j], f[i][j] + q[i][j])
  1. 可能需要注意边界条件: 比如最左边的列, 和最上面的行

对应AcWing题号:

  1. AcWing 1015. 摘花生 - AcWing
  2. 1018. 最低通行费 - AcWing题库

数字三角形的变形

这类变形形式, 主要是走几次,中间最后一步不同

  1. 状态表示:(n, i1, i1)表示走了n步,i1路径和i2路径, 总共有四种状态
f[k][i1 - 1][i2 - 1] 
f[k][i1][i2]
f[k][i1 - 1][i2]
f[k][i1 - 1][i2 - 1] 
  1. 状态转移:
int& t = f[k - 1][i1 - 1][i2];
x = max(x, f[k - 1][i1 - 1][i2 - 1] + t);
x = max(x, f[k - 1][i1 - 1][i2] + t);
x = max(x, f[k - 1][i1][i2 - 1] + t);
x = max(x, f[k - 1][i1][i2] + t);
  1. 注意当两条路径相同的时候只需要加一次

对应的acwing题目

  1. 方格取数
  2. 传纸条

标签:状态,i1,max,模型,i2,三角形,动态,AcWing
From: https://www.cnblogs.com/zhengel/p/16776715.html

相关文章