Я работал над следующей проблемой из этой книги .
Определенный язык обработки строк предлагает примитивную операцию, которая разбивает строку на две части. Поскольку эта операция включает в себя копирование исходной строки, для строки длиной n требуется n единиц времени, независимо от местоположения среза. Предположим теперь, что вы хотите разбить строку на множество частей. Порядок, в котором делаются перерывы, может влиять на общее время работы. Например, если вы хотите вырезать строку из 20 символов в позициях и , то выполнение первого вырезания в позиции влечет за собой общую стоимость , в то время как выполнение позиции 10 вначале имеет лучшую стоимость ,
Мне нужен алгоритм динамического программирования, который с учетом сокращений находит минимальную стоимость разрезания строки на .