Ho lavorato al seguente problema di questo libro .
Un certo linguaggio di elaborazione delle stringhe offre un'operazione primitiva che divide una stringa in due parti. Poiché questa operazione comporta la copia della stringa originale, sono necessarie n unità di tempo per una stringa di lunghezza n, indipendentemente dalla posizione del taglio. Supponiamo ora di voler spezzare una stringa in più pezzi. L'ordine in cui vengono eseguite le interruzioni può influire sul tempo di esecuzione totale. Ad esempio, se vuoi tagliare una stringa di 20 caratteri nelle posizioni e , fare il primo taglio nella posizione comporta un costo totale di , mentre fare prima la posizione 10 ha un costo migliore di .
Ho bisogno di un algoritmo di programmazione dinamica che fornisca tagli , trova il costo minimo per tagliare una stringa in pezzi.