← Todas as seções

Programação Dinâmica

O tipo mais difícil: memoização nasce da recursão dominada. Fecha o curso.

0/7 aulas · prova: 0/30%

Aulas

  1. ✓01

    Reconhecendo problemas de DP

    Subproblemas que se repetem, memoização vs tabulação e a complexidade estados × custo.

  2. ✓02

    Padrão 1: DP 1D (a recorrência)

    Construir uma resposta a partir das anteriores — climbing stairs e a base de tudo.

  3. ✓03

    Padrão 2: Incluir ou excluir

    Em cada item, decidir pegar ou pular — house robber e a fronteira entre greedy e DP.

  4. ✓04

    Padrão 3: Knapsack (coin change)

    Compor um alvo a partir de itens reutilizáveis — o coin change e o knapsack ilimitado.

  5. ✓05

    Padrão 4: DP em grid

    Preencher uma tabela 2D onde cada célula depende das vizinhas — unique paths.

  6. ✓06

    Padrão 5: DP em sequências e strings

    Comparar duas sequências numa tabela 2D — LCS, e a família de DP em strings.

  7. ✓07

    Síntese: qual padrão usar?

    A árvore de decisão da seção (e do curso) e o quiz geral antes da prova final.

🏁 PROVA FINAL

1 fácil + 1 médio + 1 difícil — problemas inéditos

Com casos de teste ocultos, como no LeetCode de verdade. É aqui que você confirma que sai da seção resolvendo qualquer problema do tema.