- 1
- 0
- 约2千字
- 约 25页
- 2019-01-02 发布于浙江
- 举报
北京大学ACM国际学生程序设计竞赛课件6
问题求解与程序设计第六讲 动态规划 李文新 2004.2 – 2004.6 内容提要 3.27-4.3一周不上课做出题作业 动态规划 A decorative fence - 1037 动态规划小结 讨论 – 1014 动态规划 与递归程序相类,将对问题求解分解为对子问题求解;不同之处在于把子问题的解存起来,用空间换时间。 例:Fibonacci数 F(0)=0; F(1)=1; F(n)=F(n-1)+F(n-2); 递归: F(n-1)和F(n-2)分别求到底一次 动态规划:用数组将前n-1个数存起来,每次只用一个加法 F[n] = F[n-1]+F[n-2] 即可。 问题 A decorative fence 1037 问题的出处 中欧信息学奥林匹克竞赛 2002年6月30日-7月6日 第一天: fence A decorative fence 时限: 1 s 内存: 1 MB 问题描述 漂亮的篱笆定义如下: 篱笆由宽度相同,高度互不相同的木条组成 组成篱笆的木条高低相间,错落有致 篱笆的长度定义为组成篱笆的木条数目N,其中木条的高度取值(不按排列顺序)分别为1,2,…,N。 把篱笆按其木条高度顺序记为:a1a2…aN,则可以对篱笆进行字典排序,例如: 问题描述 长度为 4 的漂亮篱笆排序为: 问题描述 给定篱笆长度N和在该长度下的序号C,要求给出第C中漂亮篱笆的形状。 问题描述 样例输入: 2 2 1 3 3 样例输出: 1 2 2 3 1 样例解释 问题解答 问题分析 对于长度为N的漂亮篱笆,其序列为: 以高度为1的木条开始的上升序列 以高度为2的木条开始的下降序列 以高度为2的木条开始的上升序列 以高度为3的木条开始的下降序列 以高度为3的木条开始的上升序列 …… 问题解答 问题分析 如果能够确定上述每一种序列的个数,就可以确定数字C落在哪个区间,从而确定其第一个木条的高度;则此时问题简化成N-1规模的问题,依照同样的方法可以确定第2个木条的高度,以此类推,可以确定所有木条的高度。 问题解答 递推公式 令 表示长度为N的漂亮篱笆中以高度为i的木条开始,呈下降趋势的篱笆的个数; 令 表示长度为N的漂亮篱笆中以高度为i的木条开始,呈上升趋势的篱笆的个数; 则有公式: 问题解答 公式解释 公式(1):以1开始的下降序列为0个 公式(2):可以由下降序列的个数推出上升序列的个数,如下图: 公式解释 公式解释 公式(3):在以j+1开始的下降序列中,第2个木条的可能取值是1,…,j;以它开始的序列是上升序列,如下图: 公式解释 问题解答 根据递推公式可以生成两个数组up和down数组,如下: 问题解答 对于长度为N的漂亮篱笆,可以查表得到序列: 以高度为1的木条开始的上升序列的个数n1 以高度为2的木条开始的下降序列的个数n2 以高度为2的木条开始的上升序列的个数n3 以高度为3的木条开始的下降序列的个数n4 以高度为3的木条开始的上升序列的个数n5 …… 问题解答 这样就可以根据给出的序号C,判断它落在哪一个序号区间,从而得知它的第一根木条的高度,去除第一根木条,余下的问题就是一个N-1难度的问题,可以使用同样的方法求解,直到最后一根木条的高度被确定,整个问题就解决了。 问题解答 这里需要注意的是,去掉第一根木条后,余下的木条中比第一根木条高的木条的高度要减一,才是完全的N-1难度问题。 动态规划小结 递推公式 存储结构及内容定义 计算顺序 从存储结构中还原问题的解 讨论 Dividing 1014 作业 Dividing 1014 A decorative fence 1037 提高 * * 1 2 3 4 5 6 7 8 9 10 1 2 1 2 1 3 2 1 3 2 1 3 2 1 3 2 (1) (2) (3) i x1 x2 x3 x4 x5 x6 x7 N+1 N-i+1 i i i i i i i N-i+1 j+1 1,2,…,j going down going up 0 0 0 0 2 0 0 0 2 1 0 0 2 1 1 1 2 0 0 0 2 1 0 0 2 1 1 0 0 0 0 0 up down N=1 N=2 N=3 N=4 N=1 N=2 N=3 N=4 i=1 i=2 i=3 i=4 i=1 i=2 i=3 i=4
您可能关注的文档
- 化工技术经济学hap9第九章.ppt
- 化工涂料生产企业安生产培训教材.ppt
- 化工热力ch4热力学第二定律.ppt
- 化工热力ch6-1蒸汽动力循环与制冷循环.ppt
- 化工热力学ch2体的PVT关系.ppt
- 化工热力学cha2流体的P-V-T关系.ppt
- 化工热力第一章绪论.ppt
- 化工热力学hap9相平衡.ppt
- 化工热力学chap3流体的热力学性质.ppt
- 化工热力学chap5化过程的能量分析.ppt
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
最近下载
- 人教版小学四年级数学下册第五单元:三角形大单元整体教学设计2024.docx
- 掌叶大黄(鲜制)产地片加工技术规范、质量标准.pdf VIP
- 现浇钢筋混凝土挡土墙规范.pdf VIP
- 2025年大学《公安情报学-公安情报分析与研判》考试备考试题及答案解析.docx VIP
- 医院科室综合目标管理责任书.pdf VIP
- 中国心力衰竭诊断和治疗指南2024解读PPT课件.pptx VIP
- 20以内连加减法混合练习试题[直接打印].pdf VIP
- 2025至2030中国大输液行业产业运行态势及投资规划深度研究报告.docx
- 2026届浙江温州高三一模高考英语模拟试卷试题(含答案详解).pdf VIP
- 斗轮堆取料机回转大轴承的检修与更换.doc VIP
原创力文档

文档评论(0)