Editorial for Ifri y la string.
Submitting an official solution before solving the problem yourself is a bannable offence.
Subtarea
(
)
Ya que es pequeño, es posible realizar una búsqueda exhaustiva en las posiciones restantes. Dado que ir por todos
los subconjuntos toma
y la cantidad de veces que se realiza la operacion 3 puede calcularse en
, la
complejidad total es de
.
Subtarea
(
)
Ahora que es mayor, la búsqueda exhaustiva no es viable, por lo que reduciremos el problema a encontrar la longitud
mínima de una subcadena que contiene una cadena
de nivel
como subsecuencia. Para ello fijaremos el extremo
izquierdo, lo cual nos permite hacer este cáculo en
. Teniendo en cuenta que solo hay
opciones para el extremo
izquierdo, la complejidad total es de
.
Subtarea
(
)
Sin restricciones adicionales nuestra solucion en se queda corta. ¿Podemos aprovechar las características de una
cadena
de nivel
para acelerar el cálculo del extremo derecho? Resulta que si. Primero fijaremos el extremo izquierdo
y, a partir de ahi, utilizaremos el metodo de dos punteros para calcular las posiciones del
-ésimo caracter a partir
de él en
. Haremos esto para cada letra. Teniendo esto, podemos calcular el extremo derecho en
, con lo cual la
complejidad final termina siendo
.
Comments