El camino rumbo a la IOI 2014
Después de varios meses de preparación y selección, México está listo para participar en la IOI 2014 a celebrarse en Taiwán del 13 al 20 de Julio.
De izquierda a derecha, nuestros seleccionados son:
- Carlos Galeana Hernández del Distrito Federal
- Daniel Talamás Cano de Coahuila
- Diego Alonso Roque Montoya de Nuevo León
- Jordán Alexander Salas de Coahuila
Nuevamente, nuestra selección cuenta con 3 ganadores absolutos de la Olimpiada Mexicana de Informática: Jordán ganó la OMI 2014, Talamás ganó la OMI 2013 y Diego Roque ganó la OMI 2012. Les deseamos la mejor de las suertes!
Todos los concursos de selección y la gran mayoría de las prácticas usadas durante el proceso están disponibles en omegaUp. Estos fueron los concursos y problemas usados:
Etapa 1 Durante esta etapa le pedimos a los olímpicos que lean el libro de Problemas y Algoritmos de Luis Vargas como mínimo como guía para resolver los problemas.
Temas introductorios: variables, cadenas, arreglos, matrices, ciclos, mcd, mcm:
- IOI 2014 Etapa 1, Problemset 1
- IOI 2014 Etapa 1, Problemset 2
- Soluciones
- Lecturas recomendadas:
- Los temas 1, 2, 4 y 5 del blog de Pier Paolo.
- Sección VII del Libro de Luis sobre Algoritmos
- Sección II del Libro de Luis sobre Algoritmos
- Mathematics for TopCoders.
Pilas, colas y búsqueda binaria
- IOI 2014 Etapa 1, Problemset 3 (nivel introductorio)
- IOI 2014 Etapa 1, Problemset 4 (nivel retador)
- Lecturas recomendadas:
- Del libro de Luis sobre Problemas y Algoritmos, los capítulos 4, 10, 13 y la Sección 2 completa serán de utilidad para estos exámenes.
- Del Blog de Pier Paolo, las secciones 2 y 3 pueden ser de utilidad.
- El tutorial de Topcoder sobre Búsqueda Binaria.
- Pueden practicar también con los problemas de los mismos temas del año pasado en omegaUp: Problemset 1 y Problemset 3.
Búsquedas, árboles y acotamiento y poda
- IOI 2014 Etapa 1, Problemset 5 (nivel introductorio)
- IOI 2014 Etapa 1, Problemset 6 (nivel retador)
- Soluciones y más soluciones
- Lecturas recomendadas:
- Del libro de Problemas y Algoritmos de Luis Vargas, la secciones 2 y 7 enteras y los capítulos 5, 14, 15 pueden ser de utilidad.
- Del blog de Pier Paolo pueden encontrar información relevante en las secciones 9 y 11. Repasen también los conceptos de búsqueda en amplitud y búsqueda en profundidad.
- Pueden practicar con los Exámenes 4 y 5 de la Etapa 1 del año pasado: Las soluciones de algunos de esos problemas las pueden encontrar aquí y aquí.
Recursión y backtracking
- IOI 2014 Etapa 1, Problemset 7 (nivel introductorio)
- IOI 2014 Etapa 1, Problemset 8 (nivel retador)
- Soluciones
- Lecturas recomendadas:
- Sección I completa del libro de Algoritmos de Luis Vargas (capítulos del 1 al 5) más el capítulo 11.
- Sección 9 completa del blog de Pier Paolo sobre algoritmos
- Los exámenes 6 y 7 de la preselección del 2013. Algunas soluciones a esos problemas se encuentran en el blog.
- An Introduction to Recursion, part 1 & part 2.
Búsquedas con espacios de estados
- IOI 2014 Etapa 1, Problemset 9 (nivel introductorio)
- IOI 2014 Etapa 1, Problemset 10 (nivel retador)
- Lecturas recomendadas:
- Capítulo 19: Estructura de la Solución y Espacio de Búsqueda, del libro de Problemas y Algoritmos de Luis Vargas.
- También les recomendamos revisar y practicar con el problemset 8 del año anterior. Algunas soluciones a ese problemset están en el blog.
Divide y vencerás
- IOI 2014 Etapa 1, Problemset 11 (nivel introductorio)
- IOI 2014 Etapa 1, Problemset 12 (nivel retador)
- Lecturas recomendadas:
- Capítulo 4 del libro de Problemas y Algoritmos.
Programación dinámica
- IOI 2014 Etapa 1, Problemset 13 (nivel introductorio)
- IOI 2014 Etapa 1, Problemset 14 (nivel medio)
- IOI 2014 Etapa 1, Problemset 15 (nivel retador)
- Soluciones
- Lecturas recomendadas:
- Sección VI del libro de Problemas y Algoritmos.
- Tutorial de Topcoder: Dynamic Programming.
- Programación Dinámica en el blog de Pier Paolo.
Teoría de Grafos
- IOI 2014 Etapa 1, Problemset 16 (nivel introductorio)
- IOI 2014 Etapa 1, Problemset 17 (nivel retador)
- Lecturas recomendadas:
- Grafos en el blog de Pier Paolo.
- Tutorial en Topcoder: Introduction to graphs and their data structures.
**Etapa 2 **
Esta etapa consistió de entrenamientos presenciales y prácticas externas.
Etapa 3
- IOI 2014 Etapa 3 Examen 1
- IOI 2014 Etapa 3 Examen 2
- IOI 2014 Etapa 3 Examen 3
- IOI 2014 Etapa 3 Examen 4
- IOI 2014 Etapa 3 Examen 5
Selectivo final
- IOI 2014 Etapa 4 Examen 1
- IOI 2014 Etapa 4 Examen 2
- IOI 2014 Etapa 4 Examen 3
- IOI 2014 Etapa 4 Examen 4
- IOI 2014 Etapa 4 Examen 5
- IOI 2014 Etapa 4 Desempate
Material de lectura
Como parte del proceso, recomendamos a nuestros olímpicos revisar a profundidad los siguientes sitios con material de estudio y problemas para practicar:
- Temario oficial para la IOI.
- El libro en español de Luis Vargas sobre Problemas y Algoritmos. Básicamente el objetivo de la Etapa 1 es que dominen los contenidos de este libro, por lo que su lectura (y práctica) es casi obligatoria. Les recomendamos no esperar a que inicie el preselectivo para empezar a leerlo.
- Libros recomendados para la IOI, a estas alturas su lectura es casi obligadasi desean llegar y tener buenos resultados en la IOI:
- Introduction to Algorithms 3rd Edition, Cormen et. al.
- Competitive Programming 1, 2 y 3, Steven & Felix Halim. La versión electrónica del Libro 1 ya es gratis.
- Otro libro introductorio: Algorithms Unlocked de Cormen. Más prosa y menos profundidad en las demostraciones que el Introduction al Algoritmos. Recomendado para quienes están en su primer año de concursos.
- omegaUp :)
- El blog de Pier Paolo, sección Algoritmos: http://pier.guillen.com.mx/
- El blog de Rodrigo Burgos: http://algorithmmx.blogspot.com/
- Topcoder Contenido educacional (altamente recomendado!)
- Preguntas omegaUp - Cualquier duda técnica que tengan, la pueden publica en nuestro sitio de preguntas. También pueden leer nuestras respuestas a preguntas pasadas.
- Guía rápida para el ACM ICPC. Muy buena para repasar pero no todos los temas aplican para la IOI, chequen el temario primero.
Otros sitios para practicar
- Croatian Open Competition in Informatics (COCI). Varios meses antes de la IOI, el comité de la Olimpiada de Croacia hace exámenes en línea. Los exámenes son de muy buen nivel y todos los problemas con sus soluciones están publicados en la misma página, les recomendamos darles un vistazo y practicar con todos ellos. Noten que los problemas de la COCI están en inglés y no son traducidos al español, por lo que es bueno que estén preparados. Afortunadamente Google Translate típicamente hace un buen trabajo con estos enunciados.
- USA Computing Olympiad (USACO) Estos problemas sí son traducidos al español. Otro detalle importante sobre la USACO/COCI es que sus futuros competidores en la IOI también participan en estos concursos, por lo que les servirá para medir su nivel.
- USACO Training Gate. Plataforma paso-a-paso para entrenar con problemas para la IOI. Incluye muy buenas explicaciones de la construcción de soluciones a varios problemas y tutoriales. Este blog tiene varias soluciones para el USACO training gate. Úsenlas sólo cuando estén completamente atorados en un problema, después de haberlo intentado.
- Topcoder.com/tc
- Codeforces: http://codeforces.com/
- ACM UVa Online Judge
- Codechef: http://www.codechef.com/
Esperamos que esta información le sirva a las próximas generaciones que participarán por un lugar en la Selección Mexicana de Informática.