首页
教师空间
教学
讲义
训练
考试
Online Judge
工具
常用软件
字符绘画
临时共享
网站集合
算法可视化
挑战自我
单词打字游戏
数学游戏
英语学习挑战
学习打卡
思维导图
导图列表
登录
注册
首页
教师空间
教学
讲义
训练
考试
Online Judge
工具
常用软件
字符绘画
临时共享
网站集合
算法可视化
挑战自我
单词打字游戏
数学游戏
学习打卡
思维导图
导图列表
登录
注册
← 返回算法可视化主页
🎒 01背包
动态规划 · 每个物品最多选一次
有 n 个物品,每个有重量 w[i] 和价值 v[i]。背包容量 C,
关键决策:拿还是不拿?
🔄 重置
◀ 上一步
下一步 ▶
▶ 播放
已算
0
/
0
答案
?
就绪
💡 说明
点
「下一步」
看 01背包如何逐格决策。
每步展示:
不拿
(上一行同列) vs
拿
(上一行左移)→ 取较大值。 键盘 ← → 控制,空格自动播放。
📦 物品清单
#
重量 w
价值 v
价重比
⚖️ 决策:容量 =
?
,考虑物品 #
?
⛔ 不拿
dp[i-1][c]
?
← dp[?][?]
↔
✅ 拿
dp[i-1][c-w] + v
?
← dp[?][?] + ?
📊 DP 表 dp[i][c]
行=前 i 物品,列=容量
⭐ 当前最优
—
📖 图例
不拿来源
拿的来源
当前计算格
📄 C++ 代码
高亮行 = 当前执行
行 1
📖 运行日记
准备好了,点「下一步」→