电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ACM程序设计-东北林业大学acm05

28页
  • 卖家[上传人]:suns****4568
  • 文档编号:233942805
  • 上传时间:2022-01-03
  • 文档格式:PPT
  • 文档大小:663KB
  • / 28 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 今天你AC 了吗?*1第一页,共28页。第6讲DP入门*2第二页,共28页。我校的ACM在线评测系统n n课件下载地址:n 动态规划法将待求解问题分解成若干个相互重叠的子问题,每个子问题对应决策过程的一个阶段,一般来说,子问题的重叠关系表现在对给定问题求解的递推关系(也就是动态规划函数)中,将子问题的解求解一次并填入表中,当需要再次求解此子问题时,可以通过查表获得该子问题的解而不用再次求解,从而避免了大量重复计算。*4第四页,共28页。 原问题的解 原问题 填 表子问题1子问题2子问题n动态规划法的求解过程*5第五页,共28页。n=5时分治法计算斐波那契数的过程。 F(5)F(4)F(3)F(3)F(2)F(2)F(1)F(2)F(1)F(1)F(0)F(1)F(0)F(1)F(0)例:计算斐波那契数:*6第六页,共28页。01234567890112358132134动态规划法求解斐波那契数F(9)的填表过程 : 注意到,计算F(n)是以计算它的两个重叠子问题 F(n-1)和F(n-2)的形式来表达的,所以,可以设计一张表填入n+1个F(n)的值。 *7第七页,共28页。 用动态规

      2、划法求解的问题具有特征: 能够分解为相互重叠的若干子问题; 满足最优性原理(也称最优子结构性质):该问题的最优解中也包含着其子问题的最优解。(用反证法)分析问题是否满足最优性原理:1. 先假设由问题的最优解导出的子问题的解不是最优的;2. 然后再证明在这个假设下可构造出比原问题最优解更好的解,从而导致矛盾。 *8第八页,共28页。动态规划法设计算法一般分成三个阶段:(1)分段:将原问题分解为若干个相互重叠的子问题;(2)分析:分析问题是否满足最优性原理,找出动态规划函数的递推式;(3)求解:利用递推式自底向上计算,实现动态规划过程。 v 动态规划法利用问题的最优性原理,以自底向上的方式从子问题的最优解逐步构造出整个问题的最优解。*9第九页,共28页。例1斐波那契数列 nefu 85n计算斐波那契数列的值!该数列为1 1 2 3 5 8 13 21 . n有多组数据,每组1行,用N表示,1 = N = 50。 n输出Fibonacci(N)的值! *10第十页,共28页。代码:nint n;n long long feibo51;n feibo1=1;n feibo2=1;n for(i

      3、nt i=3;in)n coutfeibonendl;*11第十一页,共28页。用递归能做吗?nlong long data51;nlong long fblq(int n)nn if (n=1|n=2) return 1;n elsen n if (datan=0)n datan=fblq(n-1)+fblq(n-2); /看看这个! 只算1次!n return datan; n n n n n *12第十二页,共28页。现在同学们在纸上计算下题:n计算N! ninputn有多组数据,每组一行,用N表示,0 = N = 20;noutputn输出N!*13第十三页,共28页。递归的代码:n#include n#include nusing namespace std;nlong long data21;nlong long jc(int n)nn if (n=0|n=1) return 1;n if (datan=0)n datan=n*jc(n-1);n return datan; n nnint main(int argc, char *argv)nn int n;n memse

      4、t(data,0,sizeof(data);n while(cinn)n coutjc(n)endl;n system(PAUSE);n return EXIT_SUCCESS;n*14第十四页,共28页。递推的代码:n#include n#include nusing namespace std;nint main(int argc, char *argv)nn int n; long long data51;n memset(data,0,sizeof(data);n data0=1;data1=1;n for(int i=2;in)n coutdatanendl;n system(PAUSE);n return EXIT_SUCCESS;n*15第十五页,共28页。Nefu20 穿过街道n一个城市的街道布局如下:从最左下方走到最右上方,每次只能往上或往右走,一共有多少种走法? *16第十六页,共28页。ninputn输入很多行行数,每行1个数字代表n的值,当n=0时结束(2=nn)n n if (n=0) break; n coutgetf(n,n)endl; n n syste

      5、m(PAUSE);n return EXIT_SUCCESS;n*20第二十页,共28页。其实这题递推的代码更短:nint n;n long long data2121;n for(int i=0;i=20;i+)n n datai0=1;/ 处理边界n data0i=1;/ 处理边界n n for(int j=1;j=20;j+)n for(int k=1;kn&n)n coutdatannn)n n memset(inp,0,sizeof(inp);n memset(data,0,sizeof(data);*25第二十五页,共28页。nfor(int i=1;i=n;i+)n for(int j=1;jdataij;n if (i=1) inpij=dataij;n elsen inpij=max(inpi-1j,inpi-1j-1)+dataij;n n n *26第二十六页,共28页。找出最后1行的最大值,并输出之!nint tmp=0;n for(int k=1;k=n;k+)n if (tmp=inpnk) tmp=inpnk;n couttmpendl;*27第二十七页,共28页。Welcome to HDOJThank You *28第二十八页,共28页。

      《ACM程序设计-东北林业大学acm05》由会员suns****4568分享,可在线阅读,更多相关《ACM程序设计-东北林业大学acm05》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.