Editorial for Joker
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Para cada , calculamos el número mínimo de espectadores que odiarán al espectador para siempre (la respuesta es la suma de estos valores). Este número coincide con el costo mínimo de una ruta desde el asiento del espectador i hasta los lados del cine, considerando que pasar por un asiento vacío ha costado 0 y pasar por un asiento ocupado tiene costo 1. Sea el costo mínimo (como se define arriba) de una ruta desde el asiento del espectador hasta afuera del cine despues que los primeros espectadores han salido del cine.
Observación clave.
Los valores son decrecientes (para pasando de a ) y al principio se tiene que
\(H_0 (1) + H_0 (2) + ··· + H_0 (N^2) ≈ \frac{N^3}{6}\).
Nuestra estrategia es mantener todos los valores actualizados en todo momento. Inicializando en es simple. Vamos a mostrar cómo actualizar para obtener . Cuando el espectador se va, realizamos una búsqueda en amplitud (o una búsqueda en profundidad) a partir del asiento de de y actualizando los valores. Durante la búsqueda del -ésimo primero en amplitud, visitaremos solo los asientos tales que , por lo tanto, el número total de asientos visitados en los pasos (para ) es (ver la observación clave). La complejidad temporal de esta solución es con una pequeña constante que es suficiente para ser aceptada.
Comments