- 博客(53)
- 收藏
- 关注
原创 动态规划(多重背包问题)
学完了完全背包问题,那么让我们来升级版的多重背包问题;4. 多重背包问题 I - AcWing题库对于多出来的数量问题,我们正常的做法是开一个数组来存储数量,循环遍历的时候进行长度判断,只要不超过这个长度,就没有问题;让我们来看看我们的代码:#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N=110; int v[N],w
2022-04-02 21:39:12
614
原创 动态规划(完全背包问题)优化版
前情提要:写文章-CSDN博客你已经学会了完全背包问题的,那么让我们看看是否能优化这个代码吧;通过观察我们代码,比起01问题,我们新加入的代码有一个比较过程,那么基于此,我们来找规律吧;g[i][j]=max(g[i][j],g[i-1][j-v[i]]+w[i],g[i-1][j-2*v[i]]+2w[i] ... )g[i][j-v[i]]=max( g[i-1][j-v[i]]+w[i],g[i-1][j-2*v[i]]+2w[i] ... ) g[i][j-2*v[i]
2022-04-01 23:25:15
508
原创 动态规划(01背包问题)优化版
前景提要:(1条消息) 动态规划(01背包问题)_物联网土猫的博客-CSDN博客写完了最基础的01背包,那我们就要开是考虑优化问题了,现在让我们重新回到我们的代码看看有哪些地方可以让我们优化;首先我们发现,我们计算属性的时候开的是二维数组,而且每次只是取到了前一个状态的数据,那么我们可能会想到,每次只保留前一次的数据,接下来只需要调用前一次的数据即可完成对下一组数的更新,其中一种方法就是滚动数组;但是我这里给大家提供更简单的办法(绝对不是本人还没写过滚动数组并且想要直接给大家看最简单的方法)
2022-04-01 20:22:43
240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅