社区
数据结构与算法
帖子详情
如何分析这个问题的最优子结构
ustcxp
2003-12-08 02:26:30
两台处理机a和b处理N个作业,第i个作业给a处理需要a[i]时间,给b处理b[i]时间,现要求每个作业只能由一台机器处理,每台机器不能同时处理两个作业,设计一个动态规划算法,使得两台机器可以同时处理这n个作业的时间最短.
...全文
240
7
打赏
收藏
如何分析这个问题的最优子结构
两台处理机a和b处理N个作业,第i个作业给a处理需要a[i]时间,给b处理b[i]时间,现要求每个作业只能由一台机器处理,每台机器不能同时处理两个作业,设计一个动态规划算法,使得两台机器可以同时处理这n个作业的时间最短.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ustcxp
2003-12-21
打赏
举报
回复
实例:a[6]={2,5,7,10,5,2},b[6]={3,8,4,11,3,4}。
我在南大bbs上问来的最优子结构分析是这样的:
设F[i][x]表示已经做了1..i号工作,机器A化了x小时的情况下,机器B所花时间的最小值
则有最优方程:
F[i][x] = min{F[i-1][x] + b[i], F[i-1][x - a[i]]}
其中F[i-1][x] + b[i] 表示第i个工作由B完成,F[i-1][x - a[i]]表示第i个工作由A完成
最后在F[n][1.. MAX_X]中选择 max(F[n][j], j) 最小的一个即可。
大家帮我看看这个解答到底是怎么回事啊?
谁能把这个实例按这个分析,写一下?多谢了
--
3echo
2003-12-13
打赏
举报
回复
我想用平衡二叉树 可以吗
3echo
2003-12-13
打赏
举报
回复
贪心算法 我一下子不记得了
要用哈夫曼编码吗?
zhushizu
2003-12-12
打赏
举报
回复
每次选择的都是最效率最高的方法!
同时还要考虑给谁执行作业:
min{a[i],b[i]}
不过这个问题要用贪心法来做更直观哦!
呵呵
gushaoping
2003-12-12
打赏
举报
回复
用数组来做.
ustcxp
2003-12-11
打赏
举报
回复
能不能说的详细一点,不懂的说
geeksky
2003-12-09
打赏
举报
回复
让a尽可能多的解决最长的工作
然后b解决时间比a少的工作就行了
状态转移方程想想就知道了
(完整word版)算法
分析
复习题目及答案.pdf
。
算法设计与
分析
报告
这个东西很不错,计算机算法与
分析
嘛,还可以啦
《算法设计与
分析
》考试题目及答案(DOC).doc
《算法设计与
分析
》考试题目及答案(DOC).doc
算法与程序设计:第4章-贪心算法(1).ppt
算法与程序设计:第4章-贪心算法(1).ppt
动态规划(朱全民).ppt
动态规划(朱全民).ppt
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章