动态规划之五——区间DP
背景
1. 城市各处分布有大小不同的垃圾收集点,而垃圾掩埋场一般都在城郊,为了效率,会用小垃圾车将各个垃圾收集点的垃圾多次运到不同的垃圾站,再用大车拖到掩埋场。这就涉及垃圾清运路线的设计:相邻垃圾收集点的垃圾需合并处理,算法可帮助设计最小清运成本的路线。
一、区间DP(Interval Dynamic Programming)
二、问题引入:石子合并
问题描述:
有 N 堆石子排成一列,每堆重量为 w[i]。每次合并相邻两堆,代价为两堆重量之和,最终合并为一堆。求最小总代价。
示例:
输入:N=4, w=[4, 5, 1, 2]
输出:34
解释:
合并顺序:
[4,5]→ 代价9,剩余[9,1,2][1,2]→ 代价3,剩余[9,3][9,3]→ 代价12,总代价9+3+12=24(实际最优解可能不同,需动态规划求解)。