El camino de México rumbo a la IOI 2015

Un año más ha pasado y México ya tiene lista su delegación que nos representará en la International Olympiad in Informatics 2015 a celebrarse en Kazakhstan, del 26 de Julio al 2 de Agosto. A continuación presentamos la colección de exámenes y problemas que se usaron durante el preselectivo dentro de omegaUp. Esperamos que esta colección de problemas sirva de entrenamiento a futuras delegaciones de México y otros países de América Latina.

Selección 2015 México De izquierda a derecha, los integrantes de la Selección Mexicana de Informática 2015 son:

  1. MEX-4: Emmanuel Antonio Cuevas (Emmanuel_Antonio)
  2. MEX-2: Carlos Galeana Hernández (charlyhlms)
  3. MEX-1: Juan Carlos Sigler Priego (Juan_Carlos_Sigler_Priego)
  4. MEX-3: Ángel David Ortega Ramírez (blak_dragon1)

Continue reading “El camino de México rumbo a la IOI 2015”

Cambios en el ranking

Continuando con los cambios en el ranking de omegaUp, a partir de hoy sólo los problemas resueltos marcados como públicos van a contar puntos para calcular el score. Este cambio es con la intención de hacer el ranking más justo con problemas visibles a todos.

De igual forma, el Coder del Mes también será calculado sólo con problemas públicos.

Desafortunadamente varios competidores cayeron bastantes posiciones en el ranking. Ayúdenos a convencer a su problemsetter favorito a que los problemas se publiquen al finalizar los concursos.

omegaUp presentado en la International Olympiad in Informatics 2014

IOI Journal

IOI Journal

 

Del 13 al 18 de Julio del 2014 se llevó a cabo la International Olympiad in Informatics (IOI) en Taipei, Taiwán. En paralelo a la IOI, el comité organiza la publicación de la revista IOI Journal donde los países participantes pueden publicar artículos sobre la olimpiada en general, tanto técnicos como reportes y explicaciones de cómo es la olimpiada alrededor del mundo. Dichas publicaciones se presentan durante la IOI, en la IOI Conference.

Este año México participó en el IOI Journal Volumen 8 con la presentación del paper de omegaUp:

omegaUp: Cloud-Based Contest Management System and Training Platform in the Mexican Olympiad in Informatics
L.H. CHÁVEZ, A. GONZÁLEZ, J. PONCE. 

El paper explica la motivación y el funcionamiento detrás de omegaUp. Es un buen documento introductorio para quienes deseen apoyar en el proyecto. También pone a omegaUp como pionero en el uso de la nube y seccomp-bpf para evaluadores de concursos en líneaEl resto de los papers publicados este año y en años pasados está aquí.

 

El nuevo ranking de omegaUp

Con este commit hemos introducido un cambio significativo en la forma de calcular el ranking general de omegaUp. Ahora no sólo es importante cuántos problemas ha resuelto un usuario sino que también estamos incluyendo la dificultad de cada uno de esos problemas. La dificultad es inversamente proporcional a la cantidad de soluciones completas (AC) que tiene ese problema.

Para ser más precisos, estamos definiendo los puntos que da un problema así: $latex P_i = \frac{100}{log_2(N+1)}$, donde $latex N$ representa la cantidad de ACs que tiene un problema. Entre más ACs tenga un problema, menos puntos va a valer. Sólo estamos contando a lo más 1 AC por usuario para evitar que las soluciones de una misma persona afecten artificialmente los puntos de score del problema.

El score que usamos en el ranking esta dado por la suma de los puntos de todos los problemas que un usuario ha resuelto con AC.

Este nuevo sistema implica que los scores ahora son dinámicos: con cada problema que un usuario resuelva se va a afectar el score de otras personas que ya hayan resuelto el mismo problema anteriormente. La única manera de subir el score es resolviendo más problemas ya que, con el tiempo, el valor que otorga cada problema va a decaer.

También agregamos una columna en la lista de problemas disponibles, Puntos para ranking, que ayuda a los usuarios a saber qué problemas atacar y cuánto valen en este nuevo sistema. Es importante notar que el valor que se muestra es el actual: en el momento que resuelvas un problema, los puntos que otorga van a cambiar.

Qué te parece el nuevo sistema? Subiste o bajaste en el ranking? Déjanos tus dudas y sugerencias en los comentarios.

 

 

 

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:

  1. Carlos Galeana Hernández del Distrito Federal
  2. Daniel Talamás Cano de Coahuila
  3. Diego Alonso Roque Montoya de Nuevo León
  4. 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:
Pilas, colas y búsqueda binaria
Búsquedas, árboles y acotamiento y poda
Recursión y backtracking
Búsquedas con espacios de estados
Divide y vencerás
Programación dinámica
Teoría de Grafos
Etapa 2 
 Esta etapa consistió de entrenamientos presenciales y prácticas externas.
Etapa 3

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:

  1. Temario oficial para la IOI.
  2. 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.
  3. Libros recomendados para la IOI, a estas alturas su lectura es casi obligadasi desean llegar y tener buenos resultados en la IOI:
    1. Introduction to Algorithms 3rd Edition, Cormen et. al.
    2. Competitive Programming 1, 2 y 3, Steven & Felix Halim. La versión electrónica del Libro 1 ya es gratis.
    3. 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.
  4. omegaUp 🙂
  5. El blog de Pier Paolo, sección Algoritmos: http://pier.guillen.com.mx/
  6. El blog de Rodrigo Burgos: http://algorithmmx.blogspot.com/
  7. Topcoder Contenido educacional (altamente recomendado!)
  8. 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.
  9. 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

  1. 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.
  2. 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.
  3. 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.
  4. Topcoder.com/tc
  5. Codeforces: http://codeforces.com/
  6. ACM UVa Online Judge
  7. 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.

Yeah, science b#$ch!: Entre más omegaUp, mejores resultados

Del 1 al 6 de Mayo pasados, se llevó a cabo la Olimpiada Mexicana de Informática 2014 en Pachuca, Hidalgo. Más de 100 participantes de toda la república concursaron y omegaUp fue la plataforma de evaluación oficial (el examen del Día 1 lo puedes encontrar aquí y el de el Día 2 aquí).

Por primera vez, durante el periodo 2013-2014 varios Estados, como Morelos, Chihuahua y Guanajuato  empezaron a promover omegaUp entre sus olímpicos y usar nuestra plataforma para correr sus concursos locales estatales.

Dentro de los resultados, la estadística que más nos llamó la atención en omegaUp fue la tabla de posiciones por Estado. Minutos antes de la OMI 2014, ya habíamos predicho el Top 10 de Estados basados en las visitas a omegaUp.com durante los 6 meses anteriores a la OMI:

 

Los resultados finales por Estado fueron:

Si bien, el orden no es exactamente el mismo, 9 de los 10 mejores Estados en la OMI también estuvieron dentro del Top 10 de visitas a omegaUp.com. Entendemos que usar más omegaUp no es el único factor para tener buenos resultados en la OMI, pero esta estadística es una buena muestra de que omegaUp funciona!

Recomendamos a todos los Estados promover omegaUp entre sus alumnos y usarlo para correr sus concursos locales. Entre más temprano en el proceso lo usen, será mejor – tendrán más visitas y la probabilidad de tener un mejor lugar en la OMI será más alta.