Eu usei a técnica de programação dinâmica várias vezes, mas hoje um amigo me perguntou como eu definia meus subproblemas, e percebi que não tinha como fornecer uma resposta formal objetiva. Como você define formalmente um subproblema para um problema que você resolveria usando a programação dinâmica?