递归就是直接或间接调用自身。算法思想:原问题可分解子问题(必要条件),原与分解后的子问题相似(递归方程),分解次数有限(子问题有穷),最终问题可直接解决(递归边界),经典问题有:幂运算、阶乘、组合数、斐波那契数列、汉诺塔等。这里详细介绍:
快速幂的实现;
斐波那契数列的矩阵加速实现;...
分类:
其他好文 时间:
2014-08-17 21:26:22
阅读次数:
397
http://poj.org/problem?id=3744
犯二了,,递推式,矩阵幂什么都会,但是我推得跟别人不一样,,,应该是对矩阵理解问题,,,再看看
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace...
分类:
其他好文 时间:
2014-08-14 10:56:18
阅读次数:
210
传送门:http://poj.org/problem?id=3420Quad TilingTime Limit: 1000MSMemory Limit: 65536KDescriptionTired of the Tri Tiling game finally, Michael turns to a...
分类:
其他好文 时间:
2014-08-10 15:20:20
阅读次数:
290
https://www.vijos.org/p/1067
很容易推出递推式f[n] = f[n-1]+f[n-2]+......+f[n-k]。
构造矩阵的方法:构造一个k*k的矩阵,其中右上角的(k-1)*(k-1)的矩阵是单位矩阵,第k行的每个数分别对应f[n-1],f[n-2],,f[n-k]的系数。然后构造一个k*1的矩阵,它的第i行代表f[i],是经过直接递推得到的。设ans...
分类:
其他好文 时间:
2014-08-07 23:24:24
阅读次数:
747
f[i]=f[i-1]*p+f[i-2]*(1-p);
正好可以用矩阵加速。。。。
#include
#include
#include
#include
#include
using namespace std;
struct matr
{
double mat[3][3];
friend matr operator *(const matr a,const matr b)
...
分类:
其他好文 时间:
2014-06-22 18:23:06
阅读次数:
173