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 i ∘ s i + 1 ∘ ⋯ ∘ s j .(S,∘)S={s1,s2,…,sn}si∘si+1∘⋯∘sj

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?si∘si+1∘⋯∘sjO(log⁡(j−i))

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


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)

si∘…∘sji<jiijuvuvvjsisj

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.