![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
自由的犇儿哥
这个作者很懒,什么都没留下…
展开
-
树形背包DP
一道题目,两种解法背包问题一定要按照物品、背包容积、决策的顺序进行遍历。增加背包容积的解法#include <bits/stdc++.h>using namespace std;const int N = 310, M = N * 2;int h[N], ne[M], v[M], idx;int w[N];int dp[N][N];int n, m;void add(int a, int b){ ++idx;v[idx] = b;ne[idx] = h[a]原创 2021-02-21 22:14:53 · 176 阅读 · 0 评论 -
最大子数组乘积
题目链接动态规划的典型题目,这道题实际上是最大连续子数组和的一个进阶版本。这道题的难点在于,这里要同时构建两个辅助数组。f(n)f(n)f(n)代表从区间[0,n][0,n][0,n]内,以n为结尾的最大乘积。与之相对的,g(n)g(n)g(n)代表从区间[0,n][0,n][0,n]内,以n为结尾的最小乘积动态转移的方程是这样的f(n)=max{f(n−1)×a[n],a[n],g(n−1)×a[n]}f(n)=max\{f(n-1)\times a[n],a[n],g(n-1)\times a[原创 2020-09-20 17:33:20 · 165 阅读 · 0 评论