Ich habe an dem folgenden Problem aus diesem Buch gearbeitet .
Eine bestimmte Zeichenkettenverarbeitungssprache bietet eine primitive Operation, die eine Zeichenkette in zwei Teile aufteilt. Da bei dieser Operation die ursprüngliche Zeichenfolge kopiert wird, werden für eine Zeichenfolge mit der Länge n unabhängig von der Position des Schnitts n Zeiteinheiten benötigt. Angenommen, Sie möchten eine Zeichenfolge in viele Teile teilen. Die Reihenfolge der Pausen kann sich auf die Gesamtlaufzeit auswirken. Wenn Sie beispielsweise eine Zeichenfolge mit 20 Zeichen an den Positionen und ausschneiden möchten, verursacht der erste Schnitt an Position Gesamtkosten von , während Position 10 zuerst bessere Kosten von .10 3 20 + 17 = 37 20 + 10 = 30
Ich brauche einen dynamischen Programmieralgorithmus, der bei Schnitten die minimalen Kosten für das Schneiden eines Strings in Stücke ermittelt.m + 1