acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • A22681.数字三角形 题解

    这题是一道经典的动态规划(dp)。它要算的是和,所以这题有两个方法。 第一个正推 正推顾名思义就是从上往下dp, 每次在下方或右下方选一个最大的数,然后加上它,并继续dp。 以下是正推代码 第二个逆推 逆推顾名思义就是从下往上dp, 每次在上方或左上方选一个最大的数,然后加上它,并继续dp。 以下是逆推代码 这只是我的一些方法,请大佬多关照。

    userId_undefined
    Sleepy~yo
    25阅读
    1回复
    2点赞
  • 关于这题 最 最 最详细的题解

    这题我们考虑用DP(动态规划) 知识点: 二维网格上的路径最值问题、DP 的经典问题——数字三角形 思路: dp[i][j]:从起点(左上角)走到第 i 行第 j 列的最大数字之和 状态转移: 可以上面 (i - 1, j) 或左边 (i, j - 1) 走到 (i, j),从两个选择中决策取最大值,再加上 (i, j) 位置上的值。 dp[i][j] = max(dp[i-1][j], dp[i-1][j-1]) + a[i][j] 边界: 数据是个三角形,第 i 行只有 i 列,满足 j <= i 的位置 (i, j) 才是合法位置。 可将不合法位置作为边界,不合法位置取不到数字(数字之和为 0) 。即对于所有的 j > i,dp[i][j] = 0。 AC代码如下:

    userId_undefined
    liyifeng
    6阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页