J'ai travaillé sur le problème suivant de ce livre .
Un certain langage de traitement de chaîne offre une opération primitive qui divise une chaîne en deux parties. Comme cette opération implique la copie de la chaîne d'origine, il faut n unités de temps pour une chaîne de longueur n, quel que soit l'emplacement de la coupe. Supposons maintenant que vous souhaitiez casser une chaîne en plusieurs morceaux. L'ordre dans lequel les pauses sont effectuées peut affecter la durée totale de fonctionnement. Par exemple, si vous voulez couper une chaîne de 20 caractères aux positions et , effectuer la première coupe à la position entraîne un coût total de , tandis que la position 10 commence d'abord par un meilleur coût de .3 20 + 17 = 37 20 + 10 = 30
J'ai besoin d'un algorithme de programmation dynamique qui, compte tenu de coupes, trouve le coût minimum de coupe d'une chaîne en pièces.m + 1