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