Como Empezar

Para ganar una medalla en la ODI, debes saber cómo programar en uno de los lenguajes de programación permitidos, poder comprender e implementar algoritmos, y ser un buen solucionador de problemas.

El lenguaje de programación más utilizado por los competidores es C ++. Si no tiene ninguna experiencia con la programación, puede comenzar a aprender C ++ de cualquiera de las siguientes páginas:

1) Estos tutoriales explican el lenguaje C ++ desde sus conceptos básicos hasta las características más recientes introducidas por C ++ 11. Los capítulos tienen una orientación práctica, con programas de ejemplo en todas las secciones para comenzar a practicar lo que se explica de inmediato.

2) Learncpp.com es un sitio web gratuito dedicado a enseñarle cómo programar en C ++. Ya sea que haya tenido alguna experiencia de programación previa o no, los tutoriales en este sitio lo guiarán a través de todos los pasos para escribir, compilar y depurar sus programas C ++, todos con muchos ejemplos.

Aprender sobre algoritmos

A continuación, debes comenzar a resolver varias tareas algorítmicas y aprender sobre estructuras de datos y algoritmos populares. Un par de buenas páginas con respecto a eso son:

1) La Olimpiada de la Computación de los Estados Unidos de América (USACO) es una competencia de programación de computadoras para estudiantes de secundaria en los Estados Unidos. El USACO ofrece seis competiciones durante el año académico para los estudiantes en cuatro niveles cada vez más difíciles: bronce, plata, oro y platino. Incluso tiene una sección de entrenamiento donde puedes aprender y practicar algoritmos.

2) CodeForces es un sitio web ruso dedicado a la programación competitiva. Fue creado y es mantenido por un grupo de programadores competitivos de la Universidad Estatal de Saratov dirigido por Mikhail Mirzayanov. Desde 2013, CodeForces ha superado a Topcoder en términos de concursantes activos.

Puedes encontrar un par de recomendaciones de libros en este sitio, enumeradas aquí.

También puede ser una buena idea analizar los problemas de las Olimpiadas Internacionales de Informática. Puede encontrar información similar y un archivo de datos antiguos de IOI en el siguiente enlace: http://history.ioinformatics.org/