算法合集之动态规划算法时间效率的优化精.ppt
《算法合集之动态规划算法时间效率的优化精.ppt》由会员分享,可在线阅读,更多相关《算法合集之动态规划算法时间效率的优化精.ppt(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法合集之动态规划算法时间效率的优化第1页,本讲稿共13页动态规划算法的时间复杂度=状态总数*每个状态转移的状态数*每次状态转移的时间第2页,本讲稿共13页一、减少状态总数二、减少每个状态转移的状态数三、减少状态转移的时间1、改进状态表示;(例一)1、减少决策时间(例三)方法:采用恰当的数据结构;2、减少计算递推式的时间方法:进行预处理,利用计算结果等;2、其他方法:选取恰当的规划方向等;1、根据最优解的性质减少决策量;(例二)2、其他方法:利用四边形不等式证明决策的单调性等;第3页,本讲稿共13页例一、RaucousRockers演唱组(USACO96)问题描述现有n首由RaucousRoc
2、kers演唱组录制的歌曲,计划从中选择一些歌曲来发行m张唱片,每张唱片至多包含t分钟的音乐,唱片中的歌曲不能重叠。按下面的标准进行选择:(1)这组唱片中的歌曲必须按照它们创作的顺序排序;(2)包含歌曲的总数尽可能多。输入n,m,t,和n首歌曲的长度,它们按照创作顺序排序,没有一首歌超出一张唱片的长度,而且不可能将所有歌曲的放在唱片中。输出所能包含的最多的歌曲数目。第4页,本讲稿共13页设n首歌曲按照创作顺序排序后的长度为long1.n,则动态规划的状态表示描述为:gi,j,k,(0in,0jm,0kt),表示前i首歌曲,用j张唱片另加k分钟来录制,最多可以录制的歌曲数目。状态转移方程为:当kl
3、ongi,i1时:gi,j,k=maxgi-1,j,k-longi+1,gi-1,j,k当klongi,i1时:gi,j,k=maxgi-1,j-1,t-longi+1,gi-1,j,k规划的边界条件为:当0jm,0kt时:g0,j,k=0;问题的最优解为:gn,m,0。算法的时间复杂度为:O(n*m*t)。第5页,本讲稿共13页改进的状态表示描述为:gi,j=(a,b),0in,0ji,0am,0bt,表示在前i首歌曲中选取j首录制所需的最少唱片为:a张唱片另加b分钟。状态转移方程为:gi,j=mingi-1,j,gi-1,j-1+longi其中(a,b)+longi=(a,b)的计算方法为
4、:当b+longit时:a=a;b=b+longi;当b+longit时:a=a+1;b=longi;规划的边界条件:当0in时,gi,0=(0,0)题目所求的最大值是:answer=maxk|gn,k(m-1,t)算法的时间复杂度为:O(n2)。Back第6页,本讲稿共13页例三、石子合并问题(NOI95)问题描述在一个操场上摆放着一圈n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆的石子数记为该次合并的得分。试编程求出将n堆石子合并成一堆的最小得分和最大得分以及相应的合并方案。本例只考虑最大得分。第7页,本讲稿共13页ij规划的边界条件为:m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 动态 规划 时间 效率 优化
限制150内