动态规划习题(更新ing~)

动态规划的核心思想是利用子问题的解来构建整个问题的解。为此,我们通常使用一个表格或数组来存储子问题的解,以便在需要时进行查找和使用。

 

1.最大字段和

动态规划习题(更新ing~)_第1张图片

#include 
using namespace std;
#define M 200000

int main()
{
    int n, a[M], dp[M];
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    dp[0] = a[0];
    int ans = dp[0];
    for (int i = 1; i < n; i++) {
        dp[i] = max(a[i], dp[i - 1] + a[i]);
        ans = max(ans, dp[i]);
    }
    cout << ans << endl;
    return 0;
}

P1049 [NOIP2001 普及组] 装箱问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2.装箱问题

动态规划习题(更新ing~)_第2张图片动态规划习题(更新ing~)_第3张图片

你可能感兴趣的:(动态规划,算法)