#JC1061. 动态规划-背包问题
动态规划-背包问题
一、单项选择题(每题2分,共20分)
1、不属于背包问题通用特征的是?() {{ select(1) }}
- 物品不可分割
- 背包容量有限
- 目标追求价值最大化
- 每件物品只能使用一次
2、01背包中dp[i][j]二维数组的含义是?()
{{ select(2) }}
- 前j件物品,载重i时最大价值
- 前i件物品,载重j时最大价值
- 第i件物品,重量j的总价值
- 前i件物品的总重量
3、01背包二维状态转移,当背包载重j大于等于物品重量w[i],下面正确是?() {{ select(3) }}
dp[i][j]=max(dp[i‑1][j], dp[i‑1][j‑w[i]]+v[i])dp[i][j]=max(dp[i‑1][j], dp[i][j‑w[i]]+v[i])dp[i][j]=dp[i‑1][j‑w[i]]+v[i]dp[i][j]=dp[i‑1][j]
4、01背包一维数组优化,载重j的遍历方向是?() {{ select(4) }}
- 从w[i]正向遍历到m
- 从m倒序遍历到w[i]
- 从1正向遍历到m
- 随机顺序遍历
5、装箱问题NOIP2001属于01背包变种,箱子最小剩余空间计算公式?() {{ select(5) }}
dp[n][V]V + dp[n][V]V - dp[n][V]dp[n][V] - V
6、完全背包和01背包的核心区别是?() {{ select(6) }}
- 完全背包物品不可分割
- 完全背包每件物品可以无限选取
- 01背包物品重量一定更大
- 完全背包不能做空间优化
7、完全背包二维dp,j≥w[i]状态转移正确的是?() {{ select(7) }}
dp[i][j]=max(dp[i‑1][j], dp[i‑1][j‑w[i]]+v[i])dp[i][j]=max(dp[i‑1][j], dp[i][j‑w[i]]+v[i])dp[i][j]=dp[i‑1][j‑w[i]]+v[i]dp[i][j]=dp[i‑1][j]
8、完全背包一维数组,载重j遍历方向为?() {{ select(8) }}
- 从m倒序到w[i]
- 从w[i]正序遍历到m
- 从m倒序到1
- 从1正向到w[i]
9、疯狂采药(完全背包)题目,当数值会超出int范围,dp数组应该用什么类型?() {{ select(9) }}
- int
- char
- long long
- bool
10、CSP‑J纪念品题目,每一轮交易对应的背包模型是?() {{ select(10) }}
- 01背包
- 完全背包
- 多重背包
- 分组背包
二、判断题(每题2分,共10分)
11、01背包一维如果写成正序遍历,会错误变成完全背包效果。() {{ select(11) }}
- 正确
- 错误
12、完全背包一维写成倒序遍历,可以实现物品无限选取。() {{ select(12) }}
- 正确
- 错误
13、全局定义的dp数组会自动初始化为0。() {{ select(13) }}
- 正确
- 错误
14、纪念品题目,每轮结束需要更新本金,同时重置dp数组。() {{ select(14) }}
- 正确
- 错误
15、装箱问题直接输出dp[n][V]即为箱子最小剩余空间。() {{ select(15) }}
- 正确
- 错误