Sumas Adyacentes
Publicado por lobishomen en Julio 3, 2008
Este fue un problema que apareció en la OMI 2008 y hubo algunos errores en los casos de prueba, así que muchos se quedaron con la incertidumbre de cómo se resolvía.
Brevemente, el problema hablaba de que dada una secuencia de enteros positivos:
Había que encontrar una secuencia de enteros
Bajo las siguientes condiciones:
- A sea no descendente
sea el máximo valor posible sujeto a las primeras 2 condiciones.
- El programa funcione en tiempo lineal
Solución
Para resolver este problema vamos a llamar Z a una secuencia tal que:
Es muy fácil encontrar una secuencia Z que cumpla con las características, ya que luego de unas sencillas operaciones algebraicas se puede concluir que para i>0, y eso es suficiente para encontrar Z en tiempo lineal.
Ahora, sea , nótese que:
Esto es porque por construcción entonces
.
Está claro que si se le asigna a K un valor arbitrario la primera condición siempre se cumple, pero la segunda no siempre.
De una manera mas precisa la condición 2 significa que:
Podemos modificar la condición por este equivalente
Y nuevamente esta condición se puede separar en otras 2 condiciones, por lo cual hay que encontrar el valor máximo para K tal que:
para toda i tal que
para toda i tal que
Despejando la K de las desigualdades anteriores tenemos que:
para toda i tal que
para toda i tal que
El primer despeje indica una cota superior para K y el segundo despeje indica una inferior para K. Podríamos pensar que la cota inferior no es necesaria, pero si lo es, ya que si la conta inferior es mayor a la cota superior es evidente que no hay solución.
Dado que la condición 1 se cumple si y solo si , la condición 2 se cumple si y solo sí K está sujeta a la cota superior e inferior y la condición 3 se cumple si y solo sí se cumplen las dos anterior y K es la parte entera de la cota superior entonces el problema se resuelve encontrando Z(tiempo lineal), luego encontrando las cotas(tiempo lineal) e imprimiendo la solución(tiempo líneal).
Espero que esta descripción de la solución sea suficiente para aclarar las dudas con respecto a este problema.
Joel Cuevas escribió
Más clara ni el agua.