上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: ✅做题思路or感想 考验的是对二维dp数组的理解和运用,一维是天数,二维是状态,了解了就很好做了 dp数组含义 dp[i][0]:第一次交易持有股票能获得的最大利润 dp[i][1]:第一次交易没有股票能获得的最大利润 dp[i][2]:第二次交易持有股票能获得的最大利润 dp[i][3]:第二次交 阅读全文
posted @ 2022-04-07 13:20 北原春希 阅读(24) 评论(0) 推荐(0) 编辑
摘要: ✅做题思路or感想 经典股票问题,这一题的特点是:股票只能交易多次 而这和股票可以单次交易的区别在于推导公式 dp数组含义 dp[i][0]:第i 天持有股票的最大利润 dp[i][1]:第i天没有股票的最大利润 推导公式 持有股票的来源:可以前一天就有股票了,也可能是今天才买股票,二者取最大利润的 阅读全文
posted @ 2022-04-07 13:00 北原春希 阅读(20) 评论(0) 推荐(0) 编辑
摘要: ✅做题思路or感想 经典股票问题,这一题的特点是:股票只能交易一次 而这和股票可以重复次交易的区别在于推导公式 dp数组含义 dp[i][0]:第i 天持有股票的最大利润 dp[i][1]:第i天没有股票的最大利润 推导公式 持有股票的来源:可以前一天就有股票了,也可能是今天才买股票,二者取最大利润 阅读全文
posted @ 2022-04-07 12:57 北原春希 阅读(24) 评论(0) 推荐(0) 编辑
摘要: ✅做题思路or感想 看得出来是动态规划,但想了半天解不出来。。。。 可以转化为背包问题中的是否能把背包装满的问题,因为词典里的词可以重复用,所以这是一个完全背包 dp数组含义 dp[i]表示长度为i的字符串能不能被被分解(其实就是容量为i的背包能否被装满) 💡递推公式 设wordSize是遍历到的 阅读全文
posted @ 2022-04-07 12:35 北原春希 阅读(35) 评论(0) 推荐(0) 编辑
摘要: ✅装满完全背包的最小物品总价值 仍然如题,不过这一题的每一个物品的价值需要自己算出来\ 其余的都是套模板的老生常谈了 class Solution { public: //装满完全背包后物品的最小总价值 int numSquares(int n) { vector<int>value; vector 阅读全文
posted @ 2022-04-05 21:38 北原春希 阅读(19) 评论(0) 推荐(0) 编辑
摘要: ✅装满完全背包的最小物品总价值 这里类型如题,不过是把价值改成了个数 故在初始化dp数组时要注意初始化大一点。然后即是别忘了有dp[0] = 0,这个是求价值的基础 然后因为是完全背包,所以背包容量遍历顺序为正序 因为这里是求价值,跟物品是组合还是排列无关,所以这里既可以先遍历物品,在遍历背包容量, 阅读全文
posted @ 2022-04-05 21:17 北原春希 阅读(43) 评论(0) 推荐(0) 编辑
摘要: ✅求装满背包的物品的排列总和 这里是求排列,而不是组合!!!即是[1,2], [2, 1]是两个东西 💡在背包问题里求排列的方法是: 排列:先遍历背包容量,再遍历物品 组合:先遍历物品,再遍历背包容量 这里再注意到这里是完全背包,再遍历背包容量的时候正序就好了 class Solution { p 阅读全文
posted @ 2022-04-05 20:54 北原春希 阅读(17) 评论(0) 推荐(0) 编辑
摘要: ✅装满完全背包的方法数 经典完全背包的问题 dp数组的含义 dp[i]指装满容量为i的完全背包所用的方法数 递推公式 装满背包的方法的一般递推公式:dp[j] += dp[j - coins[i]] 初始化 老规矩,当容量为0时,装满它的方法只有一个:什么也不干,固有dp[0] = 1 遍历顺序 遍 阅读全文
posted @ 2022-04-05 20:38 北原春希 阅读(14) 评论(0) 推荐(0) 编辑
摘要: ✅做题思路or感想 一道01背包问题,有所不同的是这里背包的价值是“个数” 这里每一个物品都有两种重量,所以背包也设有两种容量就好了,二维背包走起来 dp数组的含义 dp[i][j]表示容量为i,j的背包所能容纳的最大元素个数 递推公式 经典01背包公式的两个容量版,以及把价值变成了个数:dp[i] 阅读全文
posted @ 2022-04-05 20:21 北原春希 阅读(15) 评论(0) 推荐(0) 编辑
摘要: ✅01背包中"装满背包有几种方法"的问题 这道题难就难在如何把题面转化为背包问题 💡由题知left + right = sum, left - right = target,故有left = (sum + target) / 2,则此时就转化为了装满容量为left的背包有几种方法 当然这里要讨论一 阅读全文
posted @ 2022-04-05 20:01 北原春希 阅读(168) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页