Programación Dinámica II
En este curso profundizarás en el paradigma de Programación Dinámica (DP), aplicándolo a nuevas categorías de problemas: consumo de recursos, prefijos/sufijos y dimensiones múltiples.
A partir de ejemplos clásicos como Rod Cutting, Maximum Subarray Sum, Longest Increasing Subsequence (LIS) y Matrix Chain Multiplication, entenderás cómo formular recurrencias correctas, analizar complejidades y transformar tus soluciones en implementaciones eficientes.
Aprenderás a identificar patrones comunes entre tipos de DP, cómo reescribir dependencias, y cómo pasar de la teoría a la práctica con implementaciones en vivo, optimizadas y comentadas paso a paso.
Al finalizar, tendrás una comprensión completa del flujo de pensamiento detrás de los problemas más frecuentes de entrevistas y competencias avanzadas.
Mentores expertos
Online
Práctico
Identificarás los principales tipos de DP: consumo de recursos, prefijos/sufijos y múltiples dimensiones.
Practicarás cómo definir funciones de estado y transiciones, entendiendo cómo representar dependencias de forma eficiente.
Analizarás patrones recurrentes presentes en problemas como Maximum Subarray, LIS y Matrix Chain Multiplication.
Aplicarás cada idea a implementaciones completas: versiones recursivas, memoizadas e iterativas optimizadas.
Desarrollarás una mentalidad estructurada para reconocer patrones de DP, reducir complejidad y generalizar soluciones a nuevas variantes.
¿Qué aprenderas?
Al completar este módulo, dominarás:
Identificarás los principales tipos de DP: consumo de recursos, prefijos/sufijos y múltiples dimensiones.
Practicarás cómo definir funciones de estado y transiciones, entendiendo cómo representar dependencias de forma eficiente.
Analizarás patrones recurrentes presentes en problemas como Maximum Subarray, LIS y Matrix Chain Multiplication.
Aplicarás cada idea a implementaciones completas: versiones recursivas, memoizadas e iterativas optimizadas.
Desarrollarás una mentalidad estructurada para reconocer patrones de DP, reducir complejidad y generalizar soluciones a nuevas variantes.
¿Qué aprenderas?
Al completar este módulo, dominarás:
Deep Mentors
Aprende con mentores top, mundialistas en programación ICPC
JEAN PIERRE MANDUJANO
Founder DeepSkill
Coach ICPC
ELVIS
CAPIAS
Google Enginner
Coach ICPC
RACSÓ
GALVAN
IEEEXtreme Tech Lead
World Finalist ICPC
EMANUEL
SOTO
Computer Scientist
World Finalist ICPC
Testimonios
Experiencias de nuestros ex alumnos
Israel Candia
Android Developer

Los mentores son expertos en su campo. La masterclass ha brindado una visión clara de lo que buscan las empresas y ha demostrado que es posible postular con confianza a oportunidades en el extranjero.
Alvaro Cencia
Estudiante Universitario

En la universidad, los conceptos clave no siempre se profundizan. En este curso, la comprensión es prioritaria, brindando una base sólida en estructuras de datos, esenciales en inteligencia artificial, ciencia de datos, desarrollo web y más.
Gianmarcos Perez
Lider Técnico

El curso es ideal para quienes tienen conocimientos básicos y buscan profundizar en la resolución de problemas para avanzar en su carrera. No es para principiantes, sino para quienes desean llevar sus habilidades a un nivel más alto.
Entenderás a profundidad qué es el LCA (Lowest Common Ancestor), su importancia en jerarquías y por qué el método simple ($O(N)$) no es viable para la mayoría de los problemas de la vida real, motivando la necesidad de optimización.
Aprenderás a construir desde cero la poderosa técnica de Binary Lifting. Dominarás la Programación Dinámica para crear la matriz de saltos en potencias de dos (2ᵏ), esencial para lograr consultas en tiempo O(log N).
Implementarás la solución optimizada de LCA, integrando Binary Lifting. Además, aplicarás la fórmula geométrica para calcular la distancia más corta entre cualquier par de nodos en el árbol en tiempo logarítmico, una habilidad clave en ruteo y genética.
Entenderás la estructura y las propiedades de los Árboles Binarios de Búsqueda (BST). Aplicarás este conocimiento para resolver problemas de ordenación avanzados, como encontrar el K-ésimo menor elemento de un conjunto de datos masivo.
Utilizarás tus nuevas habilidades para resolver problemas complejos de aplicación: desde encontrar el supervisor común entre dos empleados (Consultas de Ancestro Común) hasta determinar la distancia en redes complejas, validando tu dominio de las estructuras avanzadas.
¿Qué aprenderas?
Al completar este módulo, dominarás:
Entenderás a profundidad qué es el LCA (Lowest Common Ancestor), su importancia en jerarquías y por qué el método simple ($O(N)$) no es viable para la mayoría de los problemas de la vida real, motivando la necesidad de optimización.
Aprenderás a construir desde cero la poderosa técnica de Binary Lifting. Dominarás la Programación Dinámica para crear la matriz de saltos en potencias de dos (2ᵏ), esencial para lograr consultas en tiempo O(log N).
Implementarás la solución optimizada de LCA, integrando Binary Lifting. Además, aplicarás la fórmula geométrica para calcular la distancia más corta entre cualquier par de nodos en el árbol en tiempo logarítmico, una habilidad clave en ruteo y genética.
Entenderás la estructura y las propiedades de los Árboles Binarios de Búsqueda (BST). Aplicarás este conocimiento para resolver problemas de ordenación avanzados, como encontrar el K-ésimo menor elemento de un conjunto de datos masivo.
Utilizarás tus nuevas habilidades para resolver problemas complejos de aplicación: desde encontrar el supervisor común entre dos empleados (Consultas de Ancestro Común) hasta determinar la distancia en redes complejas, validando tu dominio de las estructuras avanzadas.
¿Qué aprenderas?
Al completar este módulo, dominarás:
Deep Mentors
Aprende con mentores top, mundialistas en programación ICPC
JEAN PIERRE MANDUJANO
Founder DeepSkill
Coach ICPC
ELVIS
CAPIAS
Google Enginner
Coach ICPC
RACSÓ
GALVAN
IEEEXtreme Tech Lead
World Finalist ICPC
EMANUEL
SOTO
Computer Scientist
World Finalist ICPC
Testimonios
Experiencias de nuestros ex alumnos
Israel Candia
Android Developer

Los mentores son expertos en su campo. La masterclass ha brindado una visión clara de lo que buscan las empresas y ha demostrado que es posible postular con confianza a oportunidades en el extranjero.
Alvaro Cencia
Estudiante Universitario

En la universidad, los conceptos clave no siempre se profundizan. En este curso, la comprensión es prioritaria, brindando una base sólida en estructuras de datos, esenciales en inteligencia artificial, ciencia de datos, desarrollo web y más.
Gianmarcos Perez
Lider Técnico

El curso es ideal para quienes tienen conocimientos básicos y buscan profundizar en la resolución de problemas para avanzar en su carrera. No es para principiantes, sino para quienes desean llevar sus habilidades a un nivel más alto.







