
动态规划
iwonako
这个作者很懒,什么都没留下…
展开
-
动态规划 01背包问题
目前看到的01背包问题都不是递归方法解决的,应该是数量+容量的组合造成的特殊性质? 重点是理解状态转移方程。容量够了,可以选择放不放,如果放了会占据一定的容量,而剩余容量用来放其他的。 另外还有一个延申的问题,回溯所选组合。这里是逆序回溯,从最终状态dp[num][c]开始,用最大容量和物品[num-1]所需的容量比较,确定能放入再进行判断:是否有放入?有无放入物品i就看除去物品[num-1]之后的收益是否等于放了之后剩余容量的最大收益。其实就是上面的思路 template<class T.原创 2021-06-30 14:30:49 · 78 阅读 · 0 评论 -
使字符串成为回文串插入的最少字符数
本文仅讨论动态规划的方法。状态转移方程容易理解,递归版本不难看懂。自底而上的版本不强求,以实际案例跟着推演一遍,有点感觉即可 备忘录递归 class my_2DAry { public: //typedef typename T value_type; T** pp; int m_l, m_c; my_2DAry(int l, int c):m_l(l), m_c(c) { pp = new T* [l]; for (int i..原创 2021-06-29 11:01:22 · 303 阅读 · 0 评论