Red de conocimiento informático - Computadora portátil - ¿Cómo evitar tiempos de espera de problemas de ACM? ¿Algún consejo?

¿Cómo evitar tiempos de espera de problemas de ACM? ¿Algún consejo?

Los algoritmos son importantes, pero si el algoritmo no es sólido, también puedes utilizar algunos trucos. Por ejemplo, intente no utilizar el lenguaje Java. Se reconoce que la eficiencia de Java es terrible. Si puede, intente utilizar C y C. Para entrada y salida, intente utilizar printf() y scandf() en lugar de cin y cout. El primer método es varias veces más rápido que el último (por supuesto, es eficaz cuando se requieren entradas y salidas a gran escala). Para algunos datos de uso común, debe aprender a crear matrices para guardar datos, como factoriales. No multiplique estúpidamente cada número a partir de 1. Aprenda a crear matrices para calcular factoriales de esta manera, si necesita calcular nuevos. Números, solo necesitas continuar calculando los números originales. Eso es todo (esta es la idea del algoritmo recursivo). También existe la necesidad de minimizar las llamadas a funciones. Por ejemplo, código de programa:

for(int i=0;ilt;=x;i)

{

he=sun(1,2) ; // Llama a una función en un bucle. Si el bucle se repite varias veces, la eficiencia será muy baja.

a=a he; // La variable he debe ser una constante. Si la asignación anterior se coloca fuera del bucle, la eficiencia mejorará enormemente

}

Utilice stl correctamente, es un arma de doble filo, a veces puede mejorar mucho la eficiencia, pero a veces hará que el programa se agote. No puedo decirte cómo hacer esto, pero me gustaría saber más. Lo he estado practicando durante mucho tiempo y creo que te gustará.

Eso es todo lo que se me ocurre. Por supuesto, ACM prueba principalmente capacidades algorítmicas, por lo que la base del algoritmo es imprescindible. Otra cosa que puede tener en cuenta es que si el rango de datos de entrada es demasiado grande (¡como 2 elevado a 100 o 50!), entonces esta pregunta debe ser una pregunta que le pida que encuentre el patrón. No utilice métodos ordinarios, de lo contrario definitivamente se agotará el tiempo de espera.

La posibilidad de que se agote el tiempo de espera también es muy alta, así que no olvide escribir declaraciones de salida o ingresar un bucle infinito. sobre esto.

Le deseo una prueba exitosa.