Programación competitiva - temario y plan
Semana 1
- Informacion sobre el curso e introduccion a ICPC
- El notebook de ICPC
- Scripts para compilar y correr tests localmente
- Sitios para competir en equipo e individualmente
- Entrenamiento y estrategia de un equipo
Semana 2
- Plantilla de codigo
- Costo asintótico y complejidad computacional
- C++ y STL
Semana 3
- Logica de Hoare
- Aritmetica modular
- Invariantes
Semana 4
- Optimizacion combinatoria (fuerza bruta de subconjuntos, de permutaciones, backtracking, branch&bound)
Semana 5
- Introduccion a grafos (representacion, DFS, BFS)
Semana 6
- Combinatoria (permutaciones, combinaciones, bolitas y palitos, evitar doble conteo)
- Apendice: implementacion de cuentas de combinatoria en modulo
Semana 7
- Matematica (potlog, gcd, criba, factorizacion)
Semana 8
- Programacion dinamica I (conteo)
- Programacion dinamica II (optimizacion)
Semana 9
- Consultas en rango (segment tree)
Semana 10
- Entrenamiento y estrategia de un equipo II
- Algoritmos de raíz cuadrada
- Q&A