(HDUACM2010版_03)递推求解ppt课件_第1页
(HDUACM2010版_03)递推求解ppt课件_第2页
(HDUACM2010版_03)递推求解ppt课件_第3页
(HDUACM2010版_03)递推求解ppt课件_第4页
(HDUACM2010版_03)递推求解ppt课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ACM1.2021-10-272今天,今天,你你 了吗?了吗?AC2021-10-273每周一星(每周一星(2):):HoxilyHoxily2021-10-274第三讲第三讲递推求解递推求解2021-10-275先来看一个先来看一个超级超级简单的简单的例题例题:n有5人坐在一起,当问第5个人多少岁,他说比第4个人大2岁,问第4个人多少岁,他说比第3个人大2岁,依此下去,问第一个人多少岁,他说他10岁,最后求第5个人多少岁?n如果所坐的不是5人而是n人,写出第n个人的年龄表达式。 2021-10-27622)1(110)(nnfnnf显然可以得到如下公式显然可以得到如下公式: :化简后的公式:

2、F(n)=10+(n-1)*22021-10-277Fibnacci Fibnacci 数列:数列:2120121nffnnfnnn即:1、2、3、5、8、13、21、342021-10-278思考思考: :n递推公式的意义?n有了公式,人工计算的方法?n常见的编程实现方法?(优缺点?)2021-10-279简单思考题简单思考题: :n在一个平面上有一个圆和在一个平面上有一个圆和n n条直线,这些直线中每一条在圆内同其他直条直线,这些直线中每一条在圆内同其他直线相交,假设没有线相交,假设没有3 3条直线相交于一点,试问这些直线将圆分成多少区条直线相交于一点,试问这些直线将圆分成多少区域。域。2

3、021-10-2710是不是这个是不是这个F(1)=2; F(n) = F(n-1)+n;化简后:F(n) = n(n+1)/2 +1;2021-10-2711太简单了太简单了? ?来个稍微麻烦一些的来个稍微麻烦一些的2021-10-2712例例: :(20502050)折线分割平面)折线分割平面问题描述:问题描述: 平面上有平面上有n n条折线,问这些折线最多能将平面分割成多少块条折线,问这些折线最多能将平面分割成多少块? ?样例输入样例输入1 12 2样例输出样例输出2 27 72021-10-2713思考思考: :如何用递推解决如何用递推解决? ?结论结论F(n)=F(n-1)+4(n-

4、1)+1F(n)=F(n-1)+4(n-1)+12021-10-2714另外一种结论另外一种结论: :nZn = 2n ( 2n + 1 ) / 2 + 1 - 2nZn = 2n ( 2n + 1 ) / 2 + 1 - 2n= 2 n2 = 2 n2 n + 1 n + 1为什么为什么? ?2021-10-2715总结:递推求解的基本方法:总结:递推求解的基本方法:n首先,确认:能否容易的得到简单情况的解?首先,确认:能否容易的得到简单情况的解?n然后,假设:规模为然后,假设:规模为N-1N-1的情况已经得到解决。的情况已经得到解决。n最后,重点分析:当规模扩大到最后,重点分析:当规模扩大

5、到N N时,如何枚举出所有的情况,并且要时,如何枚举出所有的情况,并且要确保对于每一种子情况都能用已经得到的数据解决。确保对于每一种子情况都能用已经得到的数据解决。n强调:强调:1 1、编程中的空间换时间的思想、编程中的空间换时间的思想2 2、并不一定只是从、并不一定只是从N-1N-1到到N N的分析的分析2021-10-2716问题的提出:问题的提出: 设有设有n n条封闭曲线画在平面上,而任何两条封闭曲线恰好相交于两点,条封闭曲线画在平面上,而任何两条封闭曲线恰好相交于两点,且任何三条封闭曲线不相交于同一点,问这些封闭曲线把平面分割成的区且任何三条封闭曲线不相交于同一点,问这些封闭曲线把平

6、面分割成的区域个数。域个数。思考题:平面分割方法思考题:平面分割方法2021-10-2717F(1)=2F(1)=2F(n)=F(n-1)+2(n-1)F(n)=F(n-1)+2(n-1)简单分析简单分析11324123465781234567108911121314n=1n=1n=2n=2n=3n=3n=4n=422021-10-2718在在2 2n n的长方形方格中的长方形方格中, ,用用n n个个1 12 2的骨牌铺满方格的骨牌铺满方格, ,例如例如n=3n=3时时, ,为为2 23 3方格,骨牌的铺放方案有三种方格,骨牌的铺放方案有三种( (如图如图), ), 输入输入n ,n ,输输

7、出铺放方案的总数出铺放方案的总数思考题(思考题(20462046):):2021-10-2719有有1 1n n的一个长方形,用的一个长方形,用1 11 1、1 12 2、1 13 3的骨牌铺满方格。例如当的骨牌铺满方格。例如当n=3n=3时为时为1 13 3的方格(如图),此时用的方格(如图),此时用1 11 1,1 12 2,1 13 3的骨牌铺满方格,的骨牌铺满方格,共有四种铺法。共有四种铺法。 输入:输入: n n(0=n=300=n3) (n3)然后就是对然后就是对n=3 n=3 的一些特殊情况的处理了,显然:的一些特殊情况的处理了,显然:F(0)=1 F(0)=1 ( (没有人也是

8、合法的,这个可以特殊处理,就像没有人也是合法的,这个可以特殊处理,就像0 0的阶乘定义的阶乘定义为为1 1一样一样) ) F(1)=1 F(2)=2 F(3)=4F(1)=1 F(2)=2 F(3)=42021-10-2727不容易系列之不容易系列之(3)(3) LELE LELE的的RPGRPG难题难题有排成一行的个方格,用红有排成一行的个方格,用红(Red)(Red)、粉、粉(Pink)(Pink)、绿、绿(Green)(Green)三色涂每三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色求全部的满足要求

9、的涂法不同色求全部的满足要求的涂法. .附加题(看看效果):附加题(看看效果):2021-10-2728某人写了n封信和n个信封,如果所有的信都装错了信封。求所有的信都装错信封,共有多少种不同情况。 附加题:附加题:14651465不容易系列之一不容易系列之一2021-10-2729分析思路:分析思路:1 1、当、当N=1N=1和和2 2时,易得解,假设时,易得解,假设F(N-1)F(N-1)和和F(N-2)F(N-2)已经得到,重点分析已经得到,重点分析下面的情况:下面的情况:4 4、后者简单,只能是没装错的那封和第、后者简单,只能是没装错的那封和第N N封交换信封,没装错的那封封交换信封,

10、没装错的那封可以是前面可以是前面N-1N-1封中的任意一个,故封中的任意一个,故= F(N-2) = F(N-2) * * (N-1) (N-1)3 3、前者,对于每种错装,可从、前者,对于每种错装,可从N-1N-1封信中任意取一封和第封信中任意取一封和第N N封错装,故封错装,故=F(N-1)=F(N-1)* *(N-1)(N-1)2 2、当有、当有N N封信的时候,前面封信的时候,前面N-1N-1封信可以有封信可以有N-1N-1或者或者 N-2 N-2封错装封错装2021-10-2730得到如下递推公式:得到如下递推公式:基本形式:d1=0; d2=1递归式:dn= (n-1)*( dn-1 + dn-2)这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论