IntroducciónintroducciónolimpiadainformáticaOOIbienvenida

Bienvenida a la OOI

Conoce la Olimpiada de Informática de Oaxaca y cómo este material te preparará para competir

OOI Oaxaca9 de febrero de 20263 min read

¡Bienvenido a la Olimpiada de Informática de Oaxaca!

Analogía: Imagina que quieres correr un maratón. No sales a correr 42 km el primer día — empiezas caminando, luego trotas, luego corres distancias cortas, y gradualmente llegas al nivel. Esta guía es tu plan de entrenamiento para las olimpiadas de informática: empezaremos desde cero y llegaremos a resolver problemas de nivel competitivo.

¿Qué es la Olimpiada de Informática?

La Olimpiada de Informática es una competencia donde resuelves problemas de lógica y programación. No se trata de memorizar, sino de pensar. Los problemas te dan una situación y debes escribir un programa que la resuelva correctamente y rápido.

Por ejemplo:

  • "Dado un laberinto, encuentra la salida más corta"
  • "Tienes N monedas, ¿cuál es el mínimo de monedas para pagar X?"
  • "Ordena estos números de menor a mayor lo más rápido posible"

¿Qué necesitas saber antes de empezar?

Nada. Este material está diseñado para que empieces sin conocimientos previos. Solo necesitas:

  1. Una computadora con acceso a internet
  2. Ganas de aprender y paciencia
  3. Curiosidad — pregúntate siempre "¿por qué funciona esto?"

¿Qué vas a aprender?

Fundamentos: Pensamiento lógico, algoritmos y diagramas de flujo.
C++ básico: El lenguaje de programación que usaremos en competencias.
Estructuras de datos: Arreglos, vectores, pilas, colas, árboles y grafos.
Algoritmos: Ordenamiento, búsqueda, recursión, programación dinámica.
Temas avanzados: Segment trees, teoría de juegos, matemáticas competitivas.

¿Cómo usar este material?

💡

Consejo importante: No solo leas — ¡programa! Cada tema tiene ejercicios. Intenta resolverlos antes de ver la solución. Equivocarte es la mejor forma de aprender.

Estructura de cada lección

Cada tema sigue este formato:

  1. Explicación con analogía — Para que entiendas el concepto intuitivamente.
  2. Código paso a paso — Con comentarios línea por línea.
  3. Ejemplos resueltos — Para ver el concepto en acción.
  4. Ejercicios — Con soluciones ocultas para que practiques.

El camino del competidor

Nivel 1: Entender variables, if, for, while
         ↓
Nivel 2: Arreglos, strings, funciones
         ↓
Nivel 3: Ordenamiento, búsqueda binaria, recursión
         ↓
Nivel 4: Pilas, colas, grafos (BFS, DFS)
         ↓
Nivel 5: Programación dinámica, árboles
         ↓
Nivel 6: Segment trees, matemáticas avanzadas
         ↓
🏆 ¡Listo para competir!

Plataformas para practicar

Una vez que domines los temas, practica en estas plataformas:

  • CSES Problem Set — Problemas clásicos ordenados por tema.
  • Codeforces — Competencias regulares con miles de problemas.
  • AtCoder — Problemas elegantes con dificultad gradual.
  • OmegaUp — Plataforma en español con problemas de olimpiadas mexicanas.

¡Comencemos!

El siguiente paso es configurar tu entorno de desarrollo. Ve a la sección de Configuración del Entorno para instalar todo lo necesario.

Recuerda: todos los grandes programadores empezaron sin saber nada. La diferencia es que ellos no se rindieron. ¡Tú tampoco lo harás!