From 0c425cccfe5c9b61cfcaf7569607dbbdc234aff4 Mon Sep 17 00:00:00 2001 From: krahets Date: Tue, 16 Apr 2024 04:02:05 +0800 Subject: [PATCH] deploy --- .../knapsack_problem/index.html | 8 +- .../summary/index.html | 2 +- chapter_hashing/hash_algorithm/index.html | 70 +++++- chapter_hashing/hash_collision/index.html | 207 ++++++++++++++++- chapter_hashing/hash_map/index.html | 112 ++++++++- chapter_stack_and_queue/deque/index.html | 2 +- chapter_stack_and_queue/queue/index.html | 2 +- chapter_stack_and_queue/stack/index.html | 4 +- en/chapter_graph/index.html | 2 +- en/chapter_hashing/hash_algorithm/index.html | 46 +++- en/chapter_hashing/hash_collision/index.html | 207 ++++++++++++++++- en/chapter_hashing/hash_map/index.html | 75 ++++++- en/chapter_stack_and_queue/deque/index.html | 2 +- en/chapter_stack_and_queue/queue/index.html | 2 +- en/chapter_stack_and_queue/stack/index.html | 4 +- en/search/search_index.json | 2 +- en/sitemap.xml | 110 ++++----- en/sitemap.xml.gz | Bin 605 -> 606 bytes search/search_index.json | 2 +- sitemap.xml | 212 +++++++++--------- sitemap.xml.gz | Bin 1011 -> 1012 bytes .../knapsack_problem/index.html | 8 +- .../summary/index.html | 2 +- .../chapter_hashing/hash_algorithm/index.html | 70 +++++- .../chapter_hashing/hash_collision/index.html | 207 ++++++++++++++++- zh-hant/chapter_hashing/hash_map/index.html | 112 ++++++++- .../chapter_stack_and_queue/deque/index.html | 2 +- .../chapter_stack_and_queue/queue/index.html | 2 +- .../chapter_stack_and_queue/stack/index.html | 4 +- zh-hant/search/search_index.json | 2 +- zh-hant/sitemap.xml | 210 ++++++++--------- zh-hant/sitemap.xml.gz | Bin 1010 -> 1011 bytes 32 files changed, 1348 insertions(+), 342 deletions(-) diff --git a/chapter_dynamic_programming/knapsack_problem/index.html b/chapter_dynamic_programming/knapsack_problem/index.html index 43087cd2b..319cebd3c 100644 --- a/chapter_dynamic_programming/knapsack_problem/index.html +++ b/chapter_dynamic_programming/knapsack_problem/index.html @@ -3713,11 +3713,11 @@

我们可以将 0-1 背包问题看作一个由 \(n\) 轮决策组成的过程,对于每个物体都有不放入和放入两种决策,因此该问题满足决策树模型。

该问题的目标是求解“在限定背包容量下能放入物品的最大价值”,因此较大概率是一个动态规划问题。

第一步:思考每轮的决策,定义状态,从而得到 \(dp\)

-

对于每个物品来说,不放入背包,背包容量不变;放入背包,背包容量减小。由此可得状态定义:当前物品编号 \(i\) 和剩余背包容量 \(c\) ,记为 \([i, c]\)

-

状态 \([i, c]\) 对应的子问题为:\(i\) 个物品在剩余容量为 \(c\) 的背包中的最大价值,记为 \(dp[i, c]\)

+

对于每个物品来说,不放入背包,背包容量不变;放入背包,背包容量减小。由此可得状态定义:当前物品编号 \(i\) 和背包容量 \(c\) ,记为 \([i, c]\)

+

状态 \([i, c]\) 对应的子问题为:\(i\) 个物品在容量为 \(c\) 的背包中的最大价值,记为 \(dp[i, c]\)

待求解的是 \(dp[n, cap]\) ,因此需要一个尺寸为 \((n+1) \times (cap+1)\) 的二维 \(dp\) 表。

第二步:找出最优子结构,进而推导出状态转移方程

-

当我们做出物品 \(i\) 的决策后,剩余的是前 \(i-1\) 个物品的决策,可分为以下两种情况。

+

当我们做出物品 \(i\) 的决策后,剩余的是前 \(i-1\) 个物品决策的子问题,可分为以下两种情况。