#JC1067. 区间动态规划(一)

区间动态规划(一)

一、单项选择题(每题2分,共20分)

1、区间动态规划中dp[i][j]的含义是?() {{ select(1) }}

  • 前i个元素的最优解
  • 区间i到j的最优解
  • 从i到j元素的总和
  • 第i个到第j个元素的最大数值

2、区间DP循环时,外层最先循环的变量是?() {{ select(2) }}

  • 区间起点i
  • 分割点k
  • 区间长度len
  • 区间终点j

3、线形合并石子问题,len=1(区间只有一堆石子)时,dp[i][i]应当赋值为?() {{ select(3) }}

  • 极大值
  • 0
  • 该堆石子数量
  • 1

4、合并石子求区间[i,j]石子总和,使用前缀和sum正确写法是?() {{ select(4) }}

  • sum[j] + sum[i‑1]
  • sum[j] + sum[i]
  • sum[j] - sum[i‑1]
  • sum[j] - sum[i]

5、线形合并石子状态转移方程,cost代表区间代价,正确的是?() {{ select(5) }}

  • dp[i][j]=max(dp[i][j], dp[i][k]+dp[k+1][j]+cost)
  • dp[i][j]=min(dp[i][j], dp[i][k]+dp[k+1][j]+cost)
  • dp[i][j]=dp[i][k]+dp[k+1][j]
  • dp[i][j]=dp[i][k] * dp[k+1][j]

6、环形石子合并解决“环”的手段是?() {{ select(6) }}

  • 直接修改循环起点
  • 增加一层循环枚举分割点
  • 破环为链,数组复制一份拼接在尾部
  • 将dp数组扩大一倍,值不变

7、环形石子合并跑完DP后,最终答案如何获取?() {{ select(7) }}

  • 直接输出dp[1][n]
  • 在所有长度为n的区间dp[i][i+n‑1]中取最优
  • 输出dp[n][2*n]
  • 取dp数组全部元素的平均值

8、抽卡片(消卡片)题目,能够产生得分的区间最小长度为?() {{ select(8) }}

  • 2
  • 1
  • n
  • 3

9、抽卡片问题状态转移公式中a[i]*a[k]*a[j]代表?() {{ select(9) }}

  • 区间石子总重量
  • 取出k号卡片获得的分数
  • 区间元素求和
  • 前缀和结果

10、区间DP求最小值,dp数组未初始化的位置需要赋值?() {{ select(10) }}

  • 极大值INF
  • 0
  • 极小值
  • 1

二、判断题(每题2分,共10分)

11、区间DP要先计算大区间,再计算小区间。() {{ select(11) }}

  • 正确
  • 错误

12、合并石子,每次只能合并相邻的两堆石子。() {{ select(12) }}

  • 正确
  • 错误

13、环形石子合并可以直接使用线形石子的答案dp[1][n]作为最终结果。() {{ select(13) }}

  • 正确
  • 错误

14、分割点k的作用是把区间[i,j]拆分为[i,k]与[k+1,j]两个子区间。() {{ select(14) }}

  • 正确
  • 错误

15、数值较大的区间DP题目,要注意使用long long防止整数溢出。() {{ select(15) }}

  • 正确
  • 错误