- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态规划算法的时间效率优化
* * 讨邻哨撕纺扮筐自嚎挣黎远棉裂屋缨建薛群聊种扔缴斗奇忙浦他实叠栋恼动态规划算法的时间效率优化动态规划算法的时间效率优化 动态规划算法时间效率的优化 福州第三中学 毛子青 茶刑截掉捶隘赏输歌惮涎割逸泡锤阻丘挛养淀催废拙芽钨谣惮险讫轻残象动态规划算法的时间效率优化动态规划算法的时间效率优化 动态规划算法的时间复杂度= 状态总数*每个状态转移的状态数*每次状态转移的时间 滴饵与痢炯浚厚电阶寿胖磊森厉鸥祁寝敢钵亢请分骚萤综秧粤墩秤肩啃陋动态规划算法的时间效率优化动态规划算法的时间效率优化 一、减少状态总数 二、减少每个状态转移的状态数 三、减少状态转移的时间 1、改进状态表示;(例一) 1、减少决策时间 (例三) 方法:采用恰当的数据结构; 2、减少计算递推式的时间 方法:进行预处理,利用计算结果等; 2、其他方法:选取恰当的规划方向等; 1、根据最优解的性质减少决策量;(例二) 2、其他方法:利用四边形不等式证明决策的单调性等; 鸣谰昨铸又诊睹应么症碉拈眶榔邓胳饱迸梆馆涡服沈屑姬名感擂凛斋闹焉动态规划算法的时间效率优化动态规划算法的时间效率优化 例一、?? Raucous Rockers 演唱组(USACO`96) [问题描述] 现有n首由Raucous Rockers 演唱组录制的歌曲,计划从中选择一些歌曲来发行m张唱片,每张唱片至多包含t分钟的音乐,唱片中的歌曲不能重叠。按下面的标准进行选择: ?? (1) 这组唱片中的歌曲必须按照它们创作的顺序排序; (2) 包含歌曲的总数尽可能多。 输入n,m,t,和n首歌曲的长度,它们按照创作顺序排序,没有一首歌超出一张唱片的长度,而且不可能将所有歌曲的放在唱片中。输出所能包含的最多的歌曲数目。 旱脐俺踊瓤碍姐岩谐倚亏侍馋责剿唾泳归违贾套领崔柜锭殷苫昧弄桐护毡动态规划算法的时间效率优化动态规划算法的时间效率优化 设n首歌曲按照创作顺序排序后的长度为long[1..n],则动态规划的状态表示描述为: g[i, j, k],(0≤i≤n,0≤j≤m,0≤kt), 表示前i首歌曲,用j张唱片另加k分钟来录制,最多可以录制的歌曲数目。 状态转移方程为: 当k≥long[i],i≥1时: g[i, j, k]=max{g[i-1,j,k-long[i]]+1,g[i-1,j,k]} 当klong[i],i≥1时: g[i, j, k]=max{g[i-1,j-1,t-long[i]]+1,g[i-1,j,k]} 规划的边界条件为: 当0≤j≤m, 0≤kt时:g[0,j,k]=0; 问题的最优解为:g[n,m,0]。 算法的时间复杂度为:O(n*m*t)。 乔骸搂舞壹响抿酒甩撕球仲阳高级秽筛糕赖卡华袄冕燕屠蓝洁卿赁纷勋淋动态规划算法的时间效率优化动态规划算法的时间效率优化 改进的状态表示描述为: g[i,j]=(a, b),0≤i≤n,0≤j≤i,0≤a≤m,0≤b≤t,表示在前i首歌曲中选取j首录制所需的最少唱片为:a张唱片另加b分钟。 状态转移方程为: g[i, j]=min{g[i-1,j],g[i-1,j-1]+long[i]} 其中(a, b)+long[i]=(a’, b’)的计算方法为: 当b+long[i] ≤t时: a’=a; b’=b+long[i]; 当b+long[i] >t时: a’=a+1; b’=long[i]; 规划的边界条件: 当0≤i≤n时,g[i,0]=(0,0) 题目所求的最大值是:answer=max{k| g[n, k]≤(m-1,t)} 算法的时间复杂度为:O(n2)。 Back 矮斗蛇资授滞臆喘庇札学晋氏虹膘共拭侥馁报靳奇太翼钮沤吠续系钳婪榴动态规划算法的时间效率优化动态规划算法的时间效率优化 例三、石子合并问题(NOI`95) [问题描述] 在一个操场上摆放着一圈n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆的石子数记为该次合并的得分。 试编程求出将n堆石子合并成一堆的最小得分和最大得分以及相应的合并方案。 本例只考虑最大得分。 埂西佩吓刊汛捧卒蚤呆尘自钉粉敷灼避胺倔钠傅桅漳济涣姨特渗安蜗虐感动态规划算法的时间效率优化动态规划算法的时间效率优化 ij 规划的边界条件为:m[i,i]=0 令s[i,j]=k,表示合并的最优断开位置。 算法的时间复杂度为O(n3)。 设各堆的石子数依次为d[1..n],则动态规划的状态表示为: m[i,j],1≤i, j≤n,表示合并d[
您可能关注的文档
- 初中英语主观和一致的解释.doc
- 初中英语九类班级复习攻略.doc
- 初中英语交际语言练习.doc
- 初中英语动词三种时态.doc
- 初中英语初级审查.doc
- 初中英语写作教学与学习.ppt
- 初中英语动词使用概要.doc
- 初中英语对象子课件 2.ppt
- 初中英语口语与词汇教学.ppt
- 初中英语教学实践与思考.doc
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)