Supongamos que tenemos un semigrupo con elementos S = { s 1 , s 2 , ... , s n } . Nuestro objetivo es calcular productos s i ∘ s i + 1 ∘ ⋯ ∘ s j .
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.
Si se desea que cada consulta pueda responderse en pasos O ( log ( j - i ) ) , ¿se puede hacer esto solo con un preprocesamiento lineal?
(Esta pregunta está inspirada en esta pregunta reciente de Brendan McKay en Mathoverflow).
1
¿Puedes agregar un enlace a la pregunta MO?
—
Suresh Venkat
¿Alguna razón para que sea un semigrupo en lugar de un grupo?
—
Huck Bennett
@Huck: Si se trata de un grupo, la construcción de Noam en el enlace anterior proporciona dicho algoritmo.
—
Gjergji Zaimi