Programación Dinámica I
La Programación Dinámica (DP) es uno de los pilares de la programación competitiva y las entrevistas técnicas. En este curso aprenderás a reconocer cuándo un problema puede resolverse con DP, a construir recursiones eficientes y a usar almacenamiento inteligente para evitar cálculos repetidos.
Empezaremos con el principio de optimalidad de Bellman, base teórica que asegura que las soluciones óptimas se pueden construir a partir de subsoluciones óptimas. Luego estudiarás los elementos esenciales de DP —recursión, memoización y tabulación—, comparando los enfoques Top-Down (recursivo) y Bottom-Up (iterativo).
Aplicaremos la teoría a problemas clásicos como La Mochila, Frog 1, Frog 2 con K saltos, Knapsack 1, Knapsack 2 (Mochila Inversa) y aprenderás a optimizar memoria sin perder eficiencia.
Al finalizar, serás capaz de construir y analizar soluciones de DP desde cero, comprendiendo el flujo lógico detrás de cada estado, transición y dependencia.
Mentores expertos
Online
Práctico
Comprenderás cómo los problemas de optimización pueden resolverse garantizando que cada subproblema también sea óptimo.
Aprenderás a construir soluciones recursivas, a almacenarlas de forma eficiente y a transformarlas en versiones iterativas.
Compararás los enfoques Top-Down y Bottom-Up, entendiendo cuándo cada uno es más conveniente según las dependencias del problema.
Analizarás paso a paso la evolución de la Mochila, desde la fuerza bruta hasta la versión dinámica optimizada.
Reducirás el uso de memoria de O(NC) a O(C), entendiendo cómo se aprovechan dependencias parciales y filas previas.
Implementarás y comprenderás problemas tipo AtCoder: Frog 1, Frog 2 (con K saltos), Knapsack 1 y Knapsack 2, aplicando patrones reutilizables.
¿Qué aprenderas?
Al completar este módulo, dominarás:
Comprenderás cómo los problemas de optimización pueden resolverse garantizando que cada subproblema también sea óptimo.
Aprenderás a construir soluciones recursivas, a almacenarlas de forma eficiente y a transformarlas en versiones iterativas.
Compararás los enfoques Top-Down y Bottom-Up, entendiendo cuándo cada uno es más conveniente según las dependencias del problema.
Analizarás paso a paso la evolución de la Mochila, desde la fuerza bruta hasta la versión dinámica optimizada.
Reducirás el uso de memoria de O(NC) a O(C), entendiendo cómo se aprovechan dependencias parciales y filas previas.
Implementarás y comprenderás problemas tipo AtCoder: Frog 1, Frog 2 (con K saltos), Knapsack 1 y Knapsack 2, aplicando patrones reutilizables.
¿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.







