Editorial for TCP para la OCI
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Aclaraciones
- es la cantidad de múltiplos de menores iguales que sin contar al . Donde indica la parte entera de un .
- denota el mínimo común múltiplo entre y .
- Para este problema denota la cantidad de primos en .
- El no es parte de ninguna solución, ya que el conjunto de factores primos que lo componen sería un conjunto vacío (los exponentes de cada primo serían ).
Subtarea 1
Como solo hay una raíz y el rango solo comprende un elemento, basta con comprobar si es primo o no, comprobando si existe algún número () tal que ( divide a ).
Si no es primo entonces la respuesta a esta consulta es , en caso contrario los números que cumplen la condición serían los números de la forma , donde es múltiplo de , la cantidad de múltiplos de menores iguales que es que sería la respuesta a la consulta.
Subtarea 2
Similar al razonamiento de la subtarea 1, solo que como aquí tenemos varias raíces, entonces la solución para primo sería ya que solo para los números de la forma con múltiplo de , para todo se garantiza que existe un par de números tal que es de la forma ; y por lo que queda demostrado que tiene raíz -ésima exacta para todo .
Subtarea 3
Como las restricciones son pequeñas, tanto para el tamaño de los rangos de las consultas como para el máximo valor que toma en cada consulta, una solución por fuerza bruta entraría en tiempo.
La solución a cada consulta sería ya que, como se explico en la subtarea 2 para un solo factor primo existen posibles soluciones, con más de un factor primo, la cantidad de formas en que puedo escoger los exponentes de los factores de la representación en factores primos del número de tal forma que se cumplan las condiciones del problema, sería la fórmula planteada anteriormente, por el principio de multiplicación. El valor de se puede hallar iterando de a y comprobando para cada número si es primo, como se describe en la subtarea 1.
Subtarea 4
Como la idea de la subtarea 1 funciona, solo que a eso hay que añadirle la cantidad de primos que hay en el rango como se explica en la subtarea 3, por lo que la solución sería . Para calcular eficientemente habría que usar una criba.
Subtarea 5
La respuesta a cada consulta es la misma que en la subtarea 3 solo que hay que hallar eficientemente como en la subtarea 4.
Comments