Preprocesamiento óptimo para ciertos tipos de consultas

11

Supongamos que tenemos un semigrupo con elementos S = { s 1 , s 2 , ... , s n } . Nuestro objetivo es calcular productos s is i + 1s j .(S,)S={s1,s2,,sn}sisi+1sj

En su artículo "Preprocesamiento óptimo para responder consultas de productos en línea", Alon y Schieber demuestran que podemos responder a cada una de esas consultas en la mayoría de los pasos (donde α es la función inversa de Ackermann) usando solo una cantidad lineal de preprocesamiento.O(α(n))α

Si se desea que cada consulta pueda responderse en pasos O ( log ( j - i ) ) , ¿se puede hacer esto solo con un preprocesamiento lineal?sisi+1sjO(log(ji))

(Esta pregunta está inspirada en esta pregunta reciente de Brendan McKay en Mathoverflow).

Gjergji Zaimi
fuente
1
¿Puedes agregar un enlace a la pregunta MO?
Suresh Venkat
1
¿Alguna razón para que sea un semigrupo en lugar de un grupo?
Huck Bennett
1
@Huck: Si se trata de un grupo, la construcción de Noam en el enlace anterior proporciona dicho algoritmo.
Gjergji Zaimi

Respuestas:

2

s1,,snvv(n)

sisji<jiijuvuvvjsisj

Ari
fuente