hduacm2010版03递推求解程序设计.pdfVIP

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

文档评论(0)

1亿VIP精品文档

相关文档