考虑一个整数序列A = a1, a2, a3, ... an。A的子序列B是一个序列B = b1, b2, .... ,bn ,它是通过删除一些元素但保持顺序从A创建的。给定一个整数序列A,目标是计算一个交替子序列B,即一个序列b1, ... bn使得对于 {2, 3, ... , m-1} 中的所有i,如果 b{i- 1} < b{i} 然后 b{i} > b{i+1} 如果 b{i-1} > b{i} 然后 b{i} < b{i+1}**
考虑该问题的在线版本,其中序列A是逐个元素给出的,并且每次都需要直接决定是否在子序列B中包含下一个元素。是否有可能实现恒定的竞争比率(通过使用确定性在线算法)?要么给出一个达到恒定竞争比的在线算法,要么表明不可能找到这样的在线算法。
假设序列 [9,8,9,8,9,8, .... , 9,8,9,8,2,1,2,9,8,9, ... , 8,9,8, 9,8,9]
我的论点:算法必须立即决定是否将传入的数字插入子序列。如果算法现在得到数字 1 然后 2 然后 2 它将最终确定它们是序列的一部分,因此非线性因子比 n-3 的最优解更差。
-> 没有恒定的竞争力!
这是一个适当的论证吗?