序列 a 0 , a 1 , …, a n-1实数的权重定义为 a 0 +a 1 /2+…+ a a-1 /2 n-1 。序列的子序列是通过从序列中删除一些元素而获得的,保持其余元素的顺序相同。设 X 表示 a 0 , a 1 , …,a n-1的子序列的最大可能权重,Y 表示 a 1 , a 2 , …,a n-1的子序列的最大可能权重。那么 X 等于
(A) max(Y, a0+Y)
(B) max(Y, a0+Y/2)
(C) max(Y, a0+2Y)
(D) a0+Y/2答案:(乙)
说明:使用动态规划的概念,要找到 X 子序列的最大可能权重,我们将有两种选择:
1.不要在子序列中包含 a0:那么最大可能权重将等于由 Y 表示的 {a1, a2,….an} 子序列的最大可能权重
2.包含 a0:那么最大可能权重将等于 a0 +(在 Y 中选择的每个数字将被除以 2)a0 + Y/2。在这里你可以注意到 Y 本身会选择最佳子序列来最大化权重。
最终答案将是 Max(Case1, Case2) 即 Max(Y, a0 + Y/2)。因此 B)。
这个问题的测验