假设我们有两个长度相等的整数数组a_1, ..., a_n和b_1, ..., b_n。对于任何给定的索引对i和j,其中1 <= i < j <= n,我们需要找到形式为a_k, ..., a_{l-1}, b_l, ..., b_{j-i+k}的任意序列的最小值的最大值,其中0 <= k <= n-j+i且l可以是j-i+k+1,即该序列完全来自数组a。当k = 0时,该序列完全来自数组b。
我们希望以非常高效的方式为所有i和j对执行此操作。
例如,给定
我们希望以非常高效的方式为所有i和j对执行此操作。
例如,给定
`a=[3,2,4,1]` and `b=[4,6,1,3]`
when `i=1, j=3`, the sequence can be
`[3,2,4]`, min is 2
`[3,2,1]`, min is 1
`[3,6,1]`, min is 1
`[2,4,1]`, min is 1
`[2,4,3]`, min is 2
`[2,1,3]`, min is 1
`[4,6,1]`, min is 1
`[6,1,3]`, min is 1
对于这个输入,最大值为2。
有没有一种有效的方法来运行它?
a
中选择的元素。 :) - Qiang Lia_k
和a_l
是什么,以及如果k = 0,则我们不包括a_0
;然后,我也困惑于我们一次是否只给出一对(i,j)
,还是我们应该处理所有(i,j)
,以及如何作为解决方案。) - גלעד ברקן