Este sitio servirá para apoyo al curso de programación competitiva de la URJC 2021 que se llevará a cabo desde el 26 de febrero de 2021 hasta el 14 de mayo de 2021
        
          
          Bloque 1 - Teoría (26-02)
          
          
          
          Bloque 2 - Teoría (05-03)
          
          
		  
          Bloque 1 y 2 - Práctica (12-03)
          
          
		  
          Bloque 3 - Teoría (26-03)
          
          
            
              - Diapositivas
- Grabación de la sesión
- Algoritmos de Ordenamiento
                
                  - Bubble Sort / Selection Sort
- Quicksort
- Mergesort
- Otro tipo de algoritmos de ordenamiento y búsquedas
 
- Algoritmos Voraces
- Búsqueda Binaria
- Búsqueda Ternaria
 
		  
          Seminario 1 - Estructuras de Datos Avanzadas (26-03)
          
          
		  Leonardo Santella, finalista mundial ICPC realizó el seminario con el siguiente índice.
            
		   Fenwick Tree/Binary Indexed Tree (BIT)
		   
			  - Range Sum* query/update
- O(NlogN)
- LSB(X)/LogN iterations max. Las operaciones bitwise son más rápidas. Usar un array para representar el árbol. ¿Por qué se llama árbol?
- Aplicaciones en el mundo real
- Inversión counting
- ¿Este algoritmo no resuelve el problema de RMQ? ¿Se puede usar lazy propagation?
- Ejercicios recomendados
Segment Tree
		  
			  - RMax/MinQ, RSQ
- O(NlogN) update/query
- Patrón de recursión similar al mergesort. Lazy propagation. Persistentency
- Aplicaciones en el mundo real
- Variantes como Lazy Propagation Segment Tree, Persistent Segment Tree
- Ejercicios recomendados
 
		  
          Bloque 3 - Práctica (09-04)
          
          
		  
          Bloque 4 - Teoría (16-04)
          
          
            
              - Diapositivas
- Grabación de la sesión
              - Grafos I
                
                  - Representación
- Recorridos (BFS, DFS)
- Caminos y ciclos eulerianos y hamiltonianos
- Ordenamiento Topológico
- Puntos de articulación
 
 
		  
          Bloque 4 - Práctica (23-04 y 24-04)
          
          
		  
          Bloque 5 - Teoría (30-04)
          
          
		  
          Bloque 5 - Práctica (07-05)
          
          
		  
          Seminario 2 - Estructuras de Datos Avanzadas - Trie y Suffix Array (12-05)
          
          
		  Leonardo Santella, finalista mundial ICPC realizó el seminario con el siguiente índice.
            
		   Trie
		   
			  - Idea general del algoritmo
- ¿Qué problema resuelve?
- Análisis de Complejidad en tiempo
- Observaciones
- Pseudocódigo del algoritmo
- Ejemplo
- Notas adicionales
- Ejercicios recomendados
- Preguntas/Dudas
Suffix Array
		  
			 - Idea general del algoritmo
- Suffix Trie / Suffix Tree
- Que problema resuelve?
- Análisis de Complejidad en tiempo
- Observaciones
- Pseudocódigo del algoritmo
- Ejemplo
- Notas adicionales
- Ejercicios recomendados
- Preguntas/Dudas
 
		  
          Bloque 6 - Teoría (14-05)
          
          
		  
          Bloque 6 - Práctica (21-05)