简谈--递推求解
2014-02-18 11:26
106 查看
先来看一个超级简单的例题:
l有5人坐在一起,当问第5个人多少岁,他说比第4个人大2岁,问第4个人多少岁,他说比第3个人大2岁,依此下去,问第一个人多少岁,他说他10岁,最后求第5个人多少岁?
l如果所坐的不是5人而是n人,写出第n个人的年龄表达式?
显然可以得到如下公式:
F(n)=10(n=1的时候),F(n)=F(n-1)+2 (n>=2的时候)
化简后的公式:
F(n)=10+(n-1)*2
思考:(大家想想这些,要边看边思考哦~~)
递推公式的伟大意义——?
有了公式,人工计算的方法?
常见的编程实现方法?(优缺点?)
太简单了?
来个稍微麻烦一些的—
例: 折线分割平面
问题描述:
平面上有n条折线,问这些折线最多能将平面分割成多少块?
样例输入
1
2
样例输出
2
7
如何解决?
结论如下:
Zn = 2n ( 2n + 1 ) / 2 + 1 - 2n
= 2 n^2 – n + 1
总结:递推求解的基本方法:
首先确认,是否能很容易的得到简单情况的解
假设规模为N-1的情况已经得到解决
重点分析:当规模扩大到N时,如何枚举出所有的情况,并且要确保对于每一种子情况都能用已经得到的数据解决。
强调:
1、编程中的空间换时间的思想
2、并不一定是从N-1到N的分析
l有5人坐在一起,当问第5个人多少岁,他说比第4个人大2岁,问第4个人多少岁,他说比第3个人大2岁,依此下去,问第一个人多少岁,他说他10岁,最后求第5个人多少岁?
l如果所坐的不是5人而是n人,写出第n个人的年龄表达式?
显然可以得到如下公式:
F(n)=10(n=1的时候),F(n)=F(n-1)+2 (n>=2的时候)
化简后的公式:
F(n)=10+(n-1)*2
思考:(大家想想这些,要边看边思考哦~~)
递推公式的伟大意义——?
有了公式,人工计算的方法?
常见的编程实现方法?(优缺点?)
太简单了?
来个稍微麻烦一些的—
例: 折线分割平面
问题描述:
平面上有n条折线,问这些折线最多能将平面分割成多少块?
样例输入
1
2
样例输出
2
7
如何解决?
结论如下:
Zn = 2n ( 2n + 1 ) / 2 + 1 - 2n
= 2 n^2 – n + 1
总结:递推求解的基本方法:
首先确认,是否能很容易的得到简单情况的解
假设规模为N-1的情况已经得到解决
重点分析:当规模扩大到N时,如何枚举出所有的情况,并且要确保对于每一种子情况都能用已经得到的数据解决。
强调:
1、编程中的空间换时间的思想
2、并不一定是从N-1到N的分析
相关文章推荐
- 递推求解专题练习(For Beginner) 折线分割平面 HDU 2050
- java之递推求解一维多项式
- 九度OJ 1205 N阶楼梯上楼问题 -- 动态规划(递推求解)
- 矩阵乘法求解线性递推(二)
- 求解线性递推关系
- YT03-递推求解课堂题目-1001 蟠桃记-(6.7日-烟台大学ACM预备队解题报告)
- 递推求解专题练习(For Beginner)
- HDU1847Good Luck in CET-4 Everybody!递推求解必胜、必败点 附三种经典博弈
- 一些递推题目的求解经验
- 递推求解专题练习
- 错排问题(递推方法求解)例题是hdu4535 和 1465
- YT03-递推求解课堂题目-1002 折线分割平面-(6.7日-烟台大学ACM预备队解题报告)
- HDU 2045 递推求解
- 递推求解专题练习(For Beginner)
- HDU 2047--阿牛的EOF牛肉串(递推求解专题)
- 递推求解
- YT03-递推求解课堂题目-1003 献给杭电五十周年校庆的礼物-(6.7日-烟台大学ACM预备队解题报告)
- 递推求解专题训练
- hdu 5119 Happy Matt Friends 递推求解 2014ACM/ICPC亚洲区北京站
- HDU 2041 超级楼梯(递推求解)