动态规划:选择原料工厂
来源:互联网 发布:picasa mac 编辑:程序博客网 时间:2024/04/23 19:56
题目:
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
定义了上面的概念,我们就可以进行如下的动态规划,从前i个工厂选择j个原料厂,可分为两部分:
(1)从前k个工厂选择j-1个原料厂
(2)从第k+1个工厂到第i个工厂选择1个原料工厂
它们满足的条件分别是:1<=j-1<=k<i,k+1<=i
化简为:2<=j<=i,j-1<=k<i
根据上面的分析
A[i][j]=B[1][i],当j=1
A[i][j]=min{ A[k][j-1]+B[k+1][i] },当2<=j<=i,j-1<=k<i
0 0
- 动态规划:选择原料工厂
- 选择原料工厂
- [经典面试题][腾讯]选择原料工厂(最短距离问题)
- 硬币选择问题-动态规划
- 【动态规划之路径选择】
- ZJU2041 Gangsters - 动态规划 阶段选择
- 【动态规划】【RQNOJ】最佳课题选择
- 活动选择问题的动态规划解
- 蓝桥杯 节点选择 树状动态规划
- 活动选择问题-动态规划/贪心算法
- 选择数字(动态规划+单调队列)
- 结点选择(树形动态规划)
- 动态规划1——之工厂生产线问题
- 动态规划!!!动态规划!!!
- 活动选择问题(动态规划算法和贪心算法)
- 蓝桥杯 算法训练 结点选择 (树形动态规划)
- 【算法导论】用动态规划解活动选择问题
- 活动选择问题(动态规划和贪心算法)
- 锋利的jquery总结
- cron表达式
- C语言中getenv函数的用法
- 【web analysis】measure ur website's speed
- mini2440 uboot-2012-07移植(二)
- 动态规划:选择原料工厂
- 关于web语义化的一些感悟
- C语言与C++的联系和区别
- 手机文件丢失怎么恢复
- Jquery ajax 访问Servlet 处理 Json 数据
- C++运算符重载
- android values文件夹使用
- Linux 系统备份恢复工具 SYSTEM-RESCUE-CD 的使用
- opencv图像旋转,opencv2 图像旋转