¿Qué algoritmos necesito aprender para resolver al menos 5 problemas en los concursos de CodeChef Long?

La respuesta de Nikhil Jindal a ¿Cómo preparo estructuras de datos y algoritmos desde cero?

He mencionado algunas estructuras de datos y algoritmos bastante importantes en mi respuesta anterior. Sí, la lista es algo larga y puede estar adivinando que para resolver las primeras 5 preguntas de codechef long challenge que generalmente tienen envíos 1k +, esto podría contener temas redundantes, pero créanme que no hay un solo tema que puedan dejar.

Los problemas de desafío largo de Codechef no siempre son específicos del tema. Un problema dado en un concurso particular relacionado con una estructura de datos particular o algo no garantiza que en el próximo concurso nuevamente habrá un problema basado en el mismo ds o algo. Debe tener una buena comprensión de todos los temas mencionados anteriormente para obtener un mejor rendimiento y resolver los problemas máximos. La práctica es la clave.

Además de esto, aprenda a usar bibliotecas definidas en el lenguaje de programación que prefiera. por ejemplo, en c ++ STL, en Java BigIntegers. Esto ahorrará mucho tiempo al escribir código para funciones que ya están definidas en estas bibliotecas. por ejemplo, en lugar de definir su propia función de clasificación, puede usar la función de clasificación integrada definida en el archivo de encabezado de algoritmo en c ++.

Espero que esto ayude.

Debe tener un control sólido sobre los siguientes temas: DP (programación dinámica), retroceso, manipulación de bits, gráficos (DFS, BFS debe), árboles (árboles de búsqueda binarios, árbol segmentado debe), manipulación de cadenas (KMP, algoritmo Z debe).

En Java BigIntegers, marco de colecciones

En C ++ STL.

La mejor de las suertes.