HDU 2084:数塔(动态规划)

Posted xietx1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 2084:数塔(动态规划)相关的知识,希望对你有一定的参考价值。

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2084

很简单的DP

#include <iostream>
#include <memory.h>
#define MAXHEIGHT 105
using namespace std;
int d[MAXHEIGHT][MAXHEIGHT];
int nums[MAXHEIGHT][MAXHEIGHT];
int cases, height;

int dp(int i, int j)

    if (d[i][j] >= 0)
        return d[i][j];
    return d[i][j] = i == height ? nums[i][j] : nums[i][j] + max(dp(i+1, j), dp(i+1, j+1));


int main()

    cin >> cases;
    while (cases--) 
        cin >> height;
        memset(d, -1, sizeof(d));
        for (int i = 0; i < height; ++i)
            for (int j = 0; j <= i; ++j)
                cin >> nums[i][j];
        cout << dp(0, 0) << endl;
    
    return 0;

以上是关于HDU 2084:数塔(动态规划)的主要内容,如果未能解决你的问题,请参考以下文章

hdu-2084 数塔(动态规划)

HDU 2084 数塔 简单动态规划

复盘动态规划(线性)7.10

HDU 1176 免费馅饼 (动态规划另类数塔)

hud2059龟兔赛跑(动态规划)

hdu-1176(动态规划)