动态规划
自由的犇儿哥
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
树形背包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 · 302 阅读 · 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 · 266 阅读 · 0 评论
分享