#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) }}

  • 正确
  • 错误