Eu tenho trabalhado no seguinte problema deste livro .
Uma certa linguagem de processamento de string oferece uma operação primitiva que divide uma string em duas partes. Como esta operação envolve a cópia da sequência original, leva n unidades de tempo para uma sequência de comprimento n, independentemente da localização do corte. Suponha, agora, que você queira quebrar uma corda em vários pedaços. A ordem na qual as quebras são feitas pode afetar o tempo total de execução. Por exemplo, se você deseja cortar uma cadeia de 20 caracteres nas posições e , fazer o primeiro corte na posição incorre em um custo total de , enquanto fazer a posição 10 primeiro tem um custo melhor de .
Preciso de um algoritmo de programação dinâmica que, com cortes de , encontre o custo mínimo de cortar uma string em pedaços.