HDUACM2010版03递推求解.pptVIP

  • 1
  • 0
  • 约2.37千字
  • 约 32页
  • 2018-07-08 发布于湖北
  • 举报
ACM程序设计 杭州电子科技大学 刘春英 acm@hdu.edu.cn 今天, 你 了吗? AC 每周一星(2): Hoxily 第三讲 递推求解 先来看一个超级简单的例题: 有5人坐在一起,当问第5个人多少岁,他说比第4个人大2岁,问第4个人多少岁,他说比第3个人大2岁,依此下去,问第一个人多少岁,他说他10岁,最后求第5个人多少岁? 如果所坐的不是5人而是n人,写出第n个人的年龄表达式。 显然可以得到如下公式: 化简后的公式: F(n)=10+(n-1)*2 Fibnacci 数列: 即:1、2、3、5、8、13、21、34… 思考: 递推公式的意义——? 有了公式,人工计算的方法? 常见的编程实现方法?(优缺点?) 简单思考题: 在一个平面上有一个圆和n条直线,这些直线中每一条在圆内同其他直线相交,假设没有3条直线相交于一点,试问这些直线将圆分成多少区域。 是不是这个—— F(1)=2; F(n) = F(n-1)+n; 化简后: F(n) = n(n+1)/2 +1; 太简单了? 来个稍微麻烦一些的 例:(2050)折线分割平面 问题描述: 平面上有n条折线,问这些折线最多能将平面分割成多少块? 样例输入 1 2 样例输出 2 7 思考:如何用递推解决? 结论—— F(n)=F(n-1)+4(n-1)+1 另外一种结论: Zn = 2n (

文档评论(0)

1亿VIP精品文档

相关文档