¿Cómo se comienza con codechef?

Como ya has estudiado algoritmos básicos, te sugiero lo siguiente:

  • Recoja los problemas de los temas enumerados aquí – Codechef – Etiquetas | CodeChef, preferiblemente una estructura de algoritmo / datos en la que eres bueno o que conoces correctamente. Intenta resolver esos problemas. Si se atasca, piense durante 5-6 horas en ese problema para encontrar una solución y si todavía no puede encontrar una solución, lea el editorial para ese problema o vea las soluciones de otros participantes. Encontrará algunas técnicas nuevas que no conocía antes. Comprenderlos e implementarlos .
  • Resuelve el largo desafío de Codechef que se lleva a cabo todos los meses. Generalmente hay 10 problemas y tienes 10 días para resolver tantos como puedas. Los desafíos largos enseñan algo nuevo cada mes: una nueva estructura de datos, una nueva técnica, un nuevo algoritmo, una forma interesante de optimizar su código, la gestión de la memoria.
  • La mayoría de las personas generalmente sugieren comenzar a resolver problemas fáciles en la sección Práctica, pero creo que otro enfoque también podría ser interesante de seguir: comience a resolver todos los concursos a la hora del almuerzo, comenzando desde el primero e intente resolverlo en 2-3 días. Después de eso, vea los editoriales y aprenda de ellos en una semana o menos. También puede seguir el mismo enfoque usando Cook-offs, eso depende de usted, pero sugeriría comenzar con los concursos a la hora del almuerzo.
  • Después de haber resuelto 5-6 problemas, participe en todos los concursos universitarios que tienen lugar en Codechef e intente al menos LEER todas las declaraciones de problemas y pensar en la mejor solución posible que se le ocurra.

  • Aprende un lenguaje de programación básico. Puede ser C, C ++ o Java o Python o cualquier cosa. Codechef admite una gran cantidad de idiomas. Al aprender aquí, no me refiero a que puedas escribir en forma de burbuja. En su lugar, debe ser lo suficientemente eficiente como para implementar estructuras de datos de nivel moderado como BST, gráficos (algoritmo bfs, dfs y al menos dijkstra), apilar y amontonar usando listas, etc.
  • Cuando haya terminado de aprender los conceptos básicos de su idioma, puede comenzar a hacer preguntas de práctica en codechef o spoj lado a lado mientras se perfecciona en teoría y algoritmos en estructuras de datos. También comience a hacer al menos las 2 primeras preguntas de largo. Por lo general, implican aptitud en lugar de conocer algoritmos.
  • Después de que esté equipado con sus habilidades de estructura de datos, la diversión comenzará cuando piense día y noche durante 10 días solo para resolver los largos problemas adictivos y luego comience a darse cuenta de su capacidad y perfeccionarla de una manera mucho mejor.

Entonces, en mi opinión, sé liviano con todo y más bien trabaja duro para conocer mejor tu idioma y luego competir al más alto nivel en las competiciones

Gracias por el A2A.

CodeChef es perfecto para programadores que recién comienzan su viaje en la programación competitiva. Tiene una amplia gama de problemas en la sección Práctica que puede ordenar por el número de envíos exitosos y usar ese parámetro para juzgar el nivel de dificultad del problema. Luego puede seguir resolviendo los problemas en orden creciente de dificultad.

Los programadores nuevos en este campo encuentran difícil entender el enunciado del problema de una pregunta. CodeChef tiene una sección específica diseñada para estudiantes escolares que se están preparando para IOI (LTIME37 por ejemplo). Entonces uno puede comenzar a resolver esos problemas y pasar más tiempo implementando los algoritmos y ganar velocidad. Una vez que gana confianza resolviendo problemas fáciles, puede pasar a los más difíciles porque resolver solo los fáciles no le dará mucho que aprender. Siempre se debe tratar de resolver el problema que está justo por encima de su zona de confort.

Además de la práctica personal, puede ensuciarse las manos con concursos y competir con programadores de todo el mundo. Resolver problemas manteniendo un límite de tiempo es la mejor manera como lo dicen codificadores famosos como ACRush. Intenta resolver tantos problemas como puedas durante el tiempo del concurso. No te desmotives incluso si no te desempeñas bien en tus concursos iniciales. La parte más importante viene después del concurso que está resolviendo. Esto es lo más importante ya que en este período, puedes resolver el problema que no pudiste resolver durante el concurso y el problema estaba justo por encima de tus estándares. Puedes aprender un concepto completamente nuevo o un truco para un algoritmo que ya conoces. Puedes usar este conocimiento en los concursos que vendrán en el futuro. También puede fortalecer un área específica practicando problemas de un algoritmo o tema en particular usando Codechef – Etiquetas | CodeChef. También puede encontrar temas avanzados completamente nuevos aquí con sus problemas, por ejemplo, descomposición rápida de Fourier (fft), descomposición pesada ligera (hld), etc.

La mejor parte de CodeChef son los largos concursos llamados Long Challenge. Te dan 10 problemas que debes resolver en 10 días. Este concurso ayuda a los participantes a pensar en todas las formas posibles de resolver los problemas. Este tiempo ayuda a los programadores a superar sus límites para pensar. Después de que termine el concurso, lea los editoriales de los problemas e intente que se acepten los problemas que no pudo resolver correctamente durante el concurso. Discuta sobre los problemas y editoriales en CodeChef Discuta y elimine todas sus dudas de la comunidad siempre activa.

Bienvenido al mundo de la codificación competitiva.

Además de lo que se ha respondido, hay algunos consejos mencionados en esta página:

Comenzando | CodeChef

Debe conocer cualquier lenguaje de programación primero. Sí, CodeChef tiene soporte para casi todos los idiomas comunes. Y está listo para sumergirse. Cada enlace en la primera sección debe ser revisado a fondo.

Espero que ayude. En caso de que aún esté confundido, levante el teléfono y llámenos al +91 – 22 – 61966343 (durante los días de semana entre las 11:00 a.m. y las 8:00 p.m.). Uno de nosotros estará encantado de ayudarlo.

Aunque ha mencionado explícitamente que desea probar Codechef, le sugiero que pruebe Codeforces también. Sus preguntas Div2 (A y B) son bastante fáciles y no requieren mucho conocimiento de algoritmos también. Comience con eso, luego puede filtrar los problemas relacionados con el tema en el que desea trabajar. Por ejemplo, codicioso, programación dinámica, gráficos. También puede practicar problemas en Codechef, ya que tiene una maravillosa colección de problemas, y puede usar etiquetas para filtrar el tipo de problemas que desea resolver.

Importante: no solo resuelva problemas fáciles, siempre resuelva problemas que sean un poco más difíciles de lo que ya sabe. Debido a que solo resolver problemas fáciles no lo ayudará a desarrollar habilidades, este es un error común que muchas personas cometen cuando comienzan con una programación competitiva.

Solo me gustaría decir que

  1. Aprende matemáticas básicas
  2. Aprende un lenguaje como C ++ / JAVA
  3. Haz una cuenta y simplemente comienza a practicar 😉