题型总结
动态规划
这道题是一个典型的01背包问题,只是在处理的时候遇到了递增和递减的问题,最开始很不理解的原因是我对dp的二维数组填充过程以及依赖关系没有明确清晰的认知,再加上在对找零钱这道题目中有递增操作的影响下,一直没能顺利写出正确的过程来。长话短说,这里主要涉及到一个本回合要选择的价值内容对上一轮次的占用问题。
请看如下期望的递增模板
1 | vector<int> f(target + 1, INT_MIN); |
在需求的第二行中就出现了 嵌套循环第二层中引用了被之前修改的数据,主要出现在 动态规划朝着 一维滚动数据的优化 的过程中出现的,
再来看所谓的零钱兑换,它并不在乎在本次引用了本次修改的数据,因为一个位置可以重复使用这个特性的存在,使得重复引用变得是重复使用这个索引上的零钱数量。
具体细则
空间优化中的注意事项
递推中的注意事项
同时注意在memo容器中对于初始化值的设定,建议在设定为0
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 mao的博客!