Cómo mejorar mis habilidades competitivas de codificación

  1. Algoritmos y estructuras de datos:
    Cubrir e implementar CLRS debe ser su primer objetivo. Debe hacerlo en 2 semanas como máximo. Un algoritmo al día.
    Introducción a los algoritmos – Por Thomas Cormen
    Si desea aprender más algoritmos y estructuras de datos, busque trabajos académicos,
    Tienen muchas referencias a otros algoritmos.
    Por ejemplo: el artículo de Yefim Dinitz también menciona el trabajo del Dr.Even

    Pero aprender DSA no necesariamente te ayuda en concursos cortos.

  2. Implementación
    SPOJ y Codeforces deberían ayudarlo en esto, elimina los cuellos de botella de codificación, los problemas más fáciles aquí. Intenta resolver los problemas más fáciles rápidamente. Esto debe parecer irritante cuando mejora con otros conceptos y problemas más difíciles, pero esto es necesario para mantenerse en el estado correcto para un concurso.

    Confía en mí, estos problemas no deben ser ignorados.

    Y los problemas difíciles aquí son especialmente de la más alta calidad, aterrizarás aquí cuando te mejores.

    Codeforces fue y es el mejor juez para cuando competía.

  3. Flujo conceptual-suave:
    Codechef Long Challenge debería ayudarte aquí,
    Tienes la oportunidad de aprender mucho aquí, intenta resolver tantos como puedas.
    Podrías resolver de 6 a 7 problemas si le das un día entero para toda la duración del concurso.
    Pero este no debería ser tu objetivo. Intenta resolver el largo concurso en un día o dos, tres como máximo cuando estés listo.

    Pero resuelva los otros problemas después del concurso más tarde.

  4. La combinatoria y la probabilidad se pueden encontrar mucho en el conjunto de problemas de Codeforces

Un gran conocimiento de Matemática discreta puede ayudarlo mucho cuando se trata de comprender los documentos. Pero esto puede no ayudarte en los concursos, los concursos se trata de competir e implementar.

Por cierto, un consejo: si alguna vez crees que conoces muchos algoritmos pero sigues siendo malo en los concursos, recuerda hacer problemas irritantes, la implementación es la clave. Depuración y todo lo que tienen un mundo propio.

Aquí hay algunos sitios web que puedes practicar.

  1. Sobre nosotros – Proyecto Euler
  2. HackerRank

Lee las respuestas a la siguiente pregunta

¿Cuál es la mejor manera de progresar a través de problemas de práctica en CodeChef, SPOJ, TopCoder, etc.?

El siguiente artículo también tiene algunos buenos recursos.

¡Una lista increíble para programación competitiva! – Fuerzas de código

Aquí hay algunos pequeños consejos y trucos que me ayudaron mucho:

  • Asegúrese de usar un teclado QWERTY . Los caracteres []; ‘/ \ son fácilmente accesibles y memorizables.
  • Escriba espacios en blanco antes y después de caracteres no alfanuméricos. Escribe este código:

para (i = 1; i if (a [i]% 2 == 0) // o a [i]
puntuación + = 2;
más
puntuación * = a [i – 1] + 1;
}

En lugar de: (sí, estaba escribiendo así)

para (i = 1; i si (a [i]% 2 == 0)
puntuación + = 2;
más
puntuación * = a [i-1] +1;
}

  • Sangrías Se consistente. ¿Desea que su ancho de sangría sea igual a 2 o 4 espacios en blanco?
  • Escribir comentarios Si desea que una variable haga un seguimiento de quién es el turno en un juego de mesa, puede tener las cadenas “Mirko” y “Slavko”, o 0 para Mirko y 1 para Slavko. Si elige este último, es una buena idea escribir eso en un comentario después de la declaración de variable.
  • Resuelve problemas que no sabes cómo resolver. Aprenderás mucho
  • Vea cómo puede redirigir los archivos de entrada y salida utilizando Terminal / Símbolo del sistema.

Bueno, como seguramente has escuchado en alguna parte, “La práctica hace al hombre perfecto”.

Le sugiero que siga practicando la codificación a diario y que no la copie desde otro lugar donde intente hacer todo el programa usted mismo. Estas cosas realmente mejorarán tu habilidad de codificación. Sé entusiasta por la programación para que no tengas tiempo para hacer otras cosas menos fortuitas.

Practique la codificación en línea más en sitios como HackerEarth, Codechef, Codeground, topCoder, Spoj, CodeJam y siga participando en pruebas y pruebas de programación en línea en el mismo sitio, ya que es la mejor manera de mejorar sus habilidades de codificación competitiva.

También en Hackerearth, casi todas las semanas, se organizan algunos eventos de codificación en línea como Google ACPC, que tienen muy buenos programas lógicos, así que intente participar en más pruebas de codificación en línea en el mismo sitio para mejorar definitivamente su habilidad de codificación.

Como mencionó que obtuvo un rango 370 en un ACPC Google Code Jam, es un buen logro para usted. También hay una segunda ronda de ACPC alrededor después de 44 días. Así que trata de resolver programas lo más que puedas. ¡Te deseo una BUENA SUERTE!

Espero que estas respuestas te ayuden de alguna manera a mejorar tu habilidad de codificación competitiva.

Happy Coding 🙂

Simplemente practique mucho … siempre aborde los problemas que son desafiantes para usted. Paralelamente trabaje en sus algoritmos de fondo. Codeforces es un buen sitio para principiantes.

Para mejorar las habilidades de codificación, debe practicar tantos problemas como sea posible. Codechef es una plataforma realmente buena para practicar. Tiene muchos desafíos en línea. Puede comenzar como principiante y trabajar para que su codificación sea eficiente.

¡La mejor manera es practicar, practicar y seguir practicando …! y siempre asegúrate de no aburrirte. Si alguna vez te aburres, tómate un descanso e intenta hacer preguntas más fáciles. Codeforces, HackerRank, Codechef, Topcoder, Hackerearth y SPOJ son algunos lugares donde puedes practicar.

En Oder, para mejorar, debes tener al menos lo básico del lenguaje de programación muy claro y tratar de practicar los programas de HackerRank o HackerEarth: desafíos de programación y trabajos de desarrollador. Le ayudará a mejorar las habilidades de codificación.

Se pueden usar varios sitios web para habilidades competitivas

Prueba http://www.hackerrank.com