
动态规划(dp)
文章平均质量分 59
动态规划
逍遥zxq
这个作者很懒,什么都没留下…
展开
-
NFLSOJ #1582 正常的任务分配(动态规划)
这是一道简单的动态规划:原创 2023-07-19 19:07:19 · 713 阅读 · 0 评论 -
【动态规划】分组背包问题 详细讲解
【详细讲解】我们可以用01背包的思想去思考分组背包,得到状态转移方程式:,v[i][k]和w[i][k]分别表示第i组物品中第k个物品的体积和价值。通过滚动优化可得:.原创 2023-02-01 11:32:08 · 1622 阅读 · 1 评论 -
【动态规划】多重背包问题的二进制优化 详细讲解
【详细讲解】在上期讲解中,我们将多重背包转换成01背包,把件物品放入数组,转换为有种物品,每种物品有一件。但是用这种方法的话,要是数据太大,则会导致超时。有什么办法能优化时间复杂度呢?原创 2023-01-31 21:45:06 · 721 阅读 · 0 评论 -
【动态规划】多重背包问题入门 详细讲解
【详细讲解】将多重背包转换成01背包,把件物品放入数组,转换为有种物品,每种物品有一件。原创 2023-01-31 21:06:56 · 484 阅读 · 0 评论 -
【动态规划】完全背包问题及一维数组空间优化 详细讲解
【详细讲解】完全背包问题非常类似于01背包问题,所不同的是每种物品有无限件,也就是从每种物品的角度考虑,与它相关的策略已并非取或不取两种,而是有取0件、取1件、取2件……取[c/]件等很多种。原创 2023-01-31 18:01:28 · 265 阅读 · 0 评论 -
【动态规划】01背包问题 一维数组空间优化 详细讲解
【详细讲解】在使用二维数组解决01背包问题时,求dp[i][...]时,只需要调用dp[i-1][...]。因此i这一项是完全不需要的,只需要通过滚动,用现在的替换之前的,但是要注意要倒过来循环,否则调用到的dp[j-wi]是已经被替换过的新数。在上期讲解中我们用二维数组解决了01背包问题,但是空间复杂度较大,是否能优化成一维数组呢?原创 2023-01-31 16:57:49 · 370 阅读 · 1 评论 -
【动态规划】01背包问题 二维数组入门 详细讲解
【动态规划详细讲解!】背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?它是在1978年由Merkle和Hellman提出的。原创 2023-01-31 15:36:22 · 500 阅读 · 1 评论