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