Este sitio servirá para apoyo al curso de programación competitiva de la URJC 2019 que se llevará a cabo desde el 18 de enero de 2019 hasta el 26 de abril de 2019
Bloque 1 - Teoría (18-01)
- Diapositivas
- Introducción a la Programación Competitiva
- Competiciones
- Tipos de competiciones
- Tipos de problemas
- Herramientas y entrenamiento online
Bloque 1 - Práctica (25-01)
- Introducción a Domjudge
- Competición de prueba (60 minutos)
- Resolución de problemas
Bloque 2 - Teoría (01-02)
- Diapositivas
- Complejidad en tiempo
- Estructuras de datos
- Arrays
- Strings
- Vectors
- Listas, pilas, colas
- Sets
- Maps
Bloque 2 - Práctica (08-02)
- Competición de prueba (90-120 minutos)
Bloque 3 - Teoría (15-02)
- Diapositivas
- Algoritmos de Ordenamiento
- Bubble Sort / Selection Sort
- Quicksort
- Mergesort
- Otro tipo de algoritmos de ordenamiento y búsquedas
- Algoritmos Voraces
Bloque 3 - Práctica (22-02)
- Competición de prueba (90 minutos)
Bloque 4 - Teoría (01-03)
- Diapositivas
- Grafos I
- Representación
- Recorridos (BFS, DFS)
- Caminos y ciclos eulerianos y hamiltonianos
- Ordenamiento Topológico
- Componentes fuertemente conexas
Bloque 4 - Práctica (09-03 ~ 15-03)
- Competición de prueba (6 días)
Bloque 5 - Teoría (15-03)
- Diapositivas
- Grafos II
- Heaps
- Floyd Warshall
- Dijkstra
- Union-Find
- Prim
- Kruskal
Bloque 5 - Práctica (22-03)
- Competición de prueba (90 minutos)
Bloque 6 - Teoría (29-03)
- Diapositivas
- Programación Dinámica I
- Introducción
- Estructura
- Memoización
- Tipos de Programación Dinámica
- Ejemplos
- Fibonacci
- Contar caminos
- Knapsack
Bloque 6 - Teoría (05/04)
- Diapositivas
- Programación Dinámica II
- Edit Distance
- Longest Common Subsequence
- Longest Increasing Subsequence
- DP con elecciones (choice)
Bloque 6 - Práctica (12-04)
Eliminatorias SWERC 2019 (26/04)