La mejor velocidad alcanzada en las competiciones de codificación de los principales competidores proviene principalmente de cuán familiarizados están con el tipo de problema planteado.
Por favor, no lo confundas con la memoria. Siempre hay problemas nuevos, generalmente trabajados muy duro por los diseñadores y probadores en tales eventos principales.
Pero una vez que alguien que entrenó duro hizo 100, mejor aún miles de problemas, ya no es un área y un enfoque totalmente nuevos.
Sino más bien una variación / combinación o eludir alguna restricción de las vistas anteriormente.
Por lo tanto, su mejor opción es practicar bien, tanto como pueda, cada vez que se esfuerce, es decir, resolver un problema un poco más difícil de lo que puede actualmente.
- ¿Por qué se usa la compresión de backend?
- Cómo recorrer un trabajo de búsqueda binaria e imprimirlo en orden
- ¿Obtuviste un trabajo de ingeniería de software al aprender algoritmos a través de MOOC?
- ¿Cuál es el mejor algoritmo de extracción de características para comparar dos imágenes?
- ¿Dónde puedo obtener el algoritmo de 'Biblioteca de Babel'?
La segunda cosa es la capacidad de juzgar correctamente el nivel de dificultad de los problemas, es decir, no hacer suposiciones clave incorrectas que cambian totalmente el enfoque de la solución.
También aprenda a detectar que algunos problemas son fáciles de encontrar, pero difíciles de implementar para otros, fáciles de codificar pero difíciles de razonar / diseñar.
Nuevamente, la habilidad anterior solo se adquiere al haber visto más y más problemas.
Una última cosa, que podría ser un consejo más rápido, es pasar siempre más tiempo revisando todos los problemas en una competencia y elegir los que seguramente podrá resolver / más rápido / primero (suponiendo que sea una competencia de estilo ACM, existen opciones limitadas para el topcoder / código de concurso de estilo mermelada).
Puede ser útil mirar la tabla de clasificación, si pensabas que un problema era demasiado fácil pero ningún cuerpo parece haberlo intentado / o visto fallas, entonces es mejor que vuelvas a evaluarlo.