HDUACM版递推求解.ppt

HDUACM版递推求解.ppt

ACM程序设计 杭州电子科技大学 刘春英 acm@hdu.edu.cn 今天, 你 了吗? 每周一星(2): 第三讲 递推求解 先来看一个超级简单的例题: 有5人坐在一起,当问第5个人多少岁,他说比第4个人大2岁,问第4个人多少岁,他说比第3个人大2岁,依此下去,问第一个人多少岁,他说他10岁,最后求第5个人多少岁? 显然可以得到如下公式: Fibnacci 数列: 思考: 递推公式的意义——? 简单思考题: 在一个平面上有一个圆和n条直线,这些直线中每一条在圆内同其他直线相交,假设没有3条直线相交于一点,试问这些直线将圆分成多少区域。 是不是这个—— F(1)=2; F(n) = F(n-1)+n; 太简单了? 例:(2050)折线分割平面 问题描述: 平面上有n条折线,问这些折线最多能将平面分割成多少块? 样例输入 1 2 样例输出 2 7 思考:如何用递推解决? 另外一种结论: Zn = 2n ( 2n + 1 ) / 2 + 1 - 2n = 2 n^2 – n + 1 总结:递推求解的基本方法: 首先,确认:能否容易的得到简单情况的解? 最后一个思考题(有点难度) 分析过程(1) 设:F(n)表示n个人的合法队列,则: 按照最后一个人的性别分析,他要么是男,要么是女,所以可以分两大类讨论: 1、如果n个人的合法队列的最后一个人是男,则

文档评论(0)

1亿VIP精品文档

相关文档