- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(HDUACM05)动态规划
ACM程序设计 杭州电子科技大学 刘春英 acm@hdu.edu.cn 4月份比赛 是 ! 每周一星(4): 知识回顾 递推求解... 第五讲 动态规划 (Dynamic programming) 用暴力的方法,可以吗? 这道题如果用枚举法(暴力思想),在数塔层数稍大的情况下(如31),则需要列举出的路径条数将是一个非常庞大的数目(2^30= 1024^3 10^9=10亿)。 拒绝暴力,倡导和谐~ 从顶点出发时到底向左走还是向右走应取决于是从左走能取到最大值还是从右走能取到最大值,只要左右两道路径上的最大值求出来了才能作出决策。 同样,下一层的走向又要取决于再下一层上的最大值是否已经求出才能决策。这样一层一层推下去,直到倒数第二层时就非常明了。 如数字2,只要选择它下面较大值的结点19前进就可以了。所以实际求解时,可从底层开始,层层递进,最后得到最大值。 结论:自顶向下的分析,自底向上的计算。 思考:免费馅饼 如何解决? 请发表见解 ? 威威猫系列故事——打地鼠 二、经典问题:最长有序子序列 解决方案: 思考 1160 FatMouses Speed Sample Input 6008 1300 6000 2100 500 2000 1000 4000 1100 3000 6000 2000 8000 1400 6000 1200 2000 1900 再思考(1087 期末考试题) Super Jumping! Jumping! Juping! 解题思路? 三、经典问题:最长公共子序列 HDOJ-1159: Sample Inputabcfbc abfcabprogramming contest abcd mnp 子结构特征: f(i,j)= { 由于f(i,j)只和f(i-1,j-1), f(i-1,j)和f(i,j-1)有关, 而在计算f(i,j)时, 只要选择一个合适的顺序, 就可以保证这三项都已经计算出来了, 这样就可以计算出f(i,j). 这样一直推到f(len(a),len(b))就得到所要求的解了. 第一感觉: 根据题目的要求,每次提的两个物品重量差越小越好,是不是每次提的物品一定是重量相邻的物品呢? 预备工作: 排序! 第二感觉: 对于一次操作,显然提的物品重量越接近越好,是不是可以贪心呢? 请思考… 详细分析: 从最简单的情况考虑: 2个物品选一对,结论显然 算法分析:典型的DP! 状态转移方程? F(n)=min(F(i)*2,F(j)*3,F(k)*5,F(m)*7) (ni,j,k,m) 特别的: i,j,k,m 只有在本项被选中后才移动 小结:DP的基本思想 如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,如果我们能够保存已经解决的子问题的答案,而在需要的时候再找出已求得的答案,这样就可以避免大量的重复计算。 由此而来的基本思路是——用一个表记录所有已解决的子问题的答案,不管该问题以后是否被用到,只要它被计算过,就将其结果填入表中。 课后任务: WebDIY在线作业(5): 201403《ACM程序设计》作业(5)—— 刘春英老师 Welcome to HDOJ 该加油了~ * * * * 组队赛 poursoul 一、经典问题:数塔问题 有形如下图所示的数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的值最大。 试想一下: 考虑一下: 再思考: 9 6 3 8 5 2 7 4 1 Num[I] 8 7 6 5 4 3 2 1 0 I 9 6 3 8 5 2 7 4 1 Num[I] 8 7 6 5 4 3 2 1 0 I 5 4 3 4 3 2 3 2 1 F[I] Sample Output4 4 5 9 7 Sample Output 4 2 0 4 4 3 3 2 1 b 4 3 3 3 2 1 a 4 3 3 3 2 1 c 3 3 3 2 2 1 f 2 2 2 2 2 1 b 1 1 1 1 1 1 a c b f c b a 辅助空间变化示意图 f(i-1,j-1)+1 (a[i]==b[j]) max(f(i-1,j),f(i,j-1)) (a[i]!=b[j]) 四、经典问题:1421 搬寝室 Sample Input 2 1 1 3 Sample Output 4 证明:假设四个从小到大的数:a、b、c、d,只需证明以下表达式成立即可: (a-b)^2+(c-d)^2 (a-c)^2+(b-d)^2 (a
您可能关注的文档
- 八年级政治上册我知我师我爱我师课件人教新课标版概要.ppt
- 八年级政治上册第三课第2框意志的力量课件苏教版概要.ppt
- 八年级地理第六章第二节气候概要.ppt
- 消费者行为学第3章-评价与购买概要.ppt
- 八年级思想品德上册-第六课《网络交往新空间》第二框课件-人教新课标版概要.ppt
- 八年级政治上册第二单元第四课第一节《青春故事》课件人民版概要.ppt
- 消防四个能力建设常用表格概要.doc
- 八年级政治下_正义是人类良知的声音课件人教版概要.ppt
- 八年级家长会概要.ppt
- 传记理解鉴赏评价类讲述.ppt
- 吉林省辽源市东辽县第一高级中学2025届高考仿真卷数学试卷含解析.doc
- 2025届四川省遂宁市重点中学高考全国统考预测密卷数学试卷含解析.doc
- 2025届福建省仙游县郊尾中学高三第三次模拟考试语文试卷含解析.doc
- 2024年安徽阜阳兴泉发展有限公司下属子公司公开招聘工作人员7人笔试参考题库附带答案详解.pdf
- 2025届江苏省无锡市石塘湾中学高三冲刺模拟英语试卷含解析.doc
- 贵州省黔东南州锦屏县民族中学2025届高三第二次联考英语试卷含解析.doc
- 辽宁师大附中2025届高三第四次模拟考试数学试卷含解析.doc
- 重庆市云阳江口中学2025届高考冲刺押题(最后一卷)语文试卷含解析.doc
- 安徽省阜阳市界首市2025届高三第一次调研测试数学试卷含解析.doc
- 2025届黑龙江省牡丹江市高考仿真卷数学试卷含解析.doc
文档评论(0)