电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:233942805       资源大小:663KB        全文页数:28页
  • 资源格式: PPT        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

今天你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页。 用动态规划法求解的问题具有特征: 能够分解为相互重叠的若干子问题; 满足最优性原理(也称最优子结构性质):该问题的最优解中也包含着其子问题的最优解。(用反证法)分析问题是否满足最优性原理: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(int 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 memset(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 system(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)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.