Luo Gu solución a un problema P1463

enlaces a los temas: https://www.luogu.com.cn/problem/P1463

En primer lugar, vemos un problema, usted sabe algunas preguntas de ensayo, primero una boca Hu violencia cuadrado, porque el camino es los temas provinciales, no muy seguro.

Golpear la mesa? Estimado para ejecutar más de una década. .

Supongamos que x es un número de aproximadamente a, a definitivamente menos de igual a la raíz cuadrada de x, se puede determinar porque el número de otro sobre x / a, entonces x es aproximadamente Laid juzgado cuando el número de la plaza, por lo que de doble bucle, cada x bajo la raíz ciclo de pesada, el tiempo de complejidad de O (n).

Mientras que el pensamiento es preciso, un vistazo a los datos de rango, 2E9, vómitos de sangre en el lugar.

O (log n) algoritmo? de potencia rápido? Dicotomía? ¿Bromeas?

O (1) algoritmo? Obviamente, esta pregunta está buscando un intervalo (1 ~ n) de la máxima cualificado, la respuesta no puede agregar Guardar resta.

Obviamente, esta pregunta complejidad y el tiempo n, no importa.

Pensando en una serie de números es como se hace.

Este número conjunto es x, entonces x = p1 ^ k1 * p2 ^ k2 * ... * pn ^ kn, el número es aproximadamente el número (k1 + 1) * (k2 + 1) * ... * (kn + 1 ) para probarlo, el principio de la multiplicación, paso a paso multiplica.

Aquí el número de columnas p es un número primo y aumenta de forma monótona.

Deje número k de columnas lo más grande posible, debemos dejar que p columnas lo más pequeño posible, podemos suponer confiadamente: p columnas acaba de tomar los primeros números primos, en cuanto a los primeros, la práctica hace al maestro = =

Entonces, ¿qué? K enumerar el número de columnas. . (De hecho, este es un problema de búsqueda, no el número de temas

Así, poner el código:

1 #include <bits / STDC ++ h.>
 2  usando  espacio de nombres std;
3  int suma [ 20 ] = { 0 , 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 33 }; //素数表
 4  largo  tiempo n, ans, qwq;
5  void dfs ( largos  largos x, largo  tiempo y, a largo  largosz) {// x representa subíndice suma array, Y es el número actual, z es el número de divisores
 6.      IF (Z> qwq) {
 7.          qwq = Z;
 . 8          ANS = Y;
 . 9      }
 10      IF (Z == qwq && ANS > Y) ANS = Y;
 . 11      SI (X> 11. ) de retorno ;
 12 es      para ( larga  larga I = 1. ; I <= N-; ++ I) {
 13 es          SI (Y * SUM [X]> n-) de retorno ;
 14          DFS (X + 1. , Y * SUM [X], Z * (I + 1. ));
 15          Y * = SUM [X];
16      }
 17  }
 18  firmado main () {
 19      cin >> n;
20      dfs ( 1 , 1 , 1 );
21      tribunal << ans << endl;
22      de retorno  0 ;
23 }

Esto sin duda va progresando después del título sólo para empezar, sin duda mirar ignorantes, hacer un tema determinado.

La palabra en clave no es fácil, señalan que un elogio qwq

Supongo que te gusta

Origin www.cnblogs.com/-YueYang-/p/12625810.html
Recomendado
Clasificación