题目:
12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47,在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂?
1、本题实际上可以抽象为:有12个点分布在一维坐标轴上,选择3个点,使得剩余的点到最近的点的距离之和最小。
2、假设在12个工厂中选择1个工厂,应该怎么选?我们应该选择中位数位置的工厂,这样可以使之距离最近。
3、下面我们尝试着使用动态规划的算法:
设A[i][j]表示前i个工厂选择j个原料工厂的最短距离,B[i][j]表示从第i个工厂到第j个工厂选择一个原料工厂的最短距离
A[i][j]:1<=j<=i<=n (n表示工厂的总数,下同)
B[i][j]:1<=i<=j<=n
定义了上面的概念,我们就可以进行如下的动态规划