题目链接 棋盘规模 2*n (n很大) 直接找出递推公式用矩阵快速幂求解 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N=2; const LL mod=19999997; LL b[N]= ...
分类:
其他好文 时间:
2017-08-08 17:54:48
阅读次数:
210
刷了好几天的数论了 noip要考的几乎都刷了一遍 看着公式有生无可恋的感觉啊 下面是一些总结 1.组合数 去年的noip考了组合数递推公式 C(n, m) = C(n - 1, m - 1) + C(n - 1, m); 还有可以通过二项式定理推出来的几个结论 C(n, 0) + C(n, 1) + ...
分类:
其他好文 时间:
2017-08-08 12:25:15
阅读次数:
139
斐波那契数列是我们在学习C语言的时候。在递归那一章的经典实例。当然,还会有汉诺塔的样例。 这个问题时这样定义的: 0 (x <= 0) f(x) = 1 (x == 1) f(x - 1) + f(x - 2) (x > 1) 看到这个递推公式后。我们非常easy能够写出例如以下的代码: 函数声明: ...
分类:
其他好文 时间:
2017-08-05 17:47:14
阅读次数:
98
2017年07月29日 由《数据结构》(c语言版)【严蔚敏 吴伟民 编著】page54- page58 启发得到:根据递归原理。当n=1时,只需移动1次。当n=2时,需要移动3次。当n=3时。可以利用上题结论。经过我在公交车上的思考,可以得到递推公式。本次增加一层所需的移动量,是之前(增加一层之前) ...
分类:
其他好文 时间:
2017-07-30 00:08:59
阅读次数:
133
用c语言产生随机数的方法 一、 //************************************ 伪随机数 在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大 ...
分类:
编程语言 时间:
2017-07-10 20:20:57
阅读次数:
240
注:因为对“子集和问题”的学习不够深入,所以本文在讲解动态规划递推公式中可能存在叙述不清,或者错误的地方,如有发现望能不吝赐教。 子集和问题可描述如下:给定n个正整数W=(w1, w2, …, wn)和正整数M,要求寻找这样一个子集I?{1, 2, 3, ..., n},使得∑wi=M,i∈I[1] ...
分类:
其他好文 时间:
2017-07-02 17:50:47
阅读次数:
264
(一)通项公式 (二)递归 递归是最慢的,它会发生重复计算,时间复杂度成指数级。 但是通过记忆化搜索,能够将其复杂度降低为O(n) 代码如下: (三)循环 利用临时变量来保存中间的计算过程,能够加快运算。 (四)矩阵乘法+空间换时间(减少乘法,取模运算) 数列的递推公式为:f(1)=1,f(2)=2 ...
分类:
其他好文 时间:
2017-06-28 21:44:51
阅读次数:
252
卡特兰数: 1 通项公式:h(n)=C(n,2n)/(n+1)=(2n)!/((n!)*(n+1)!) 2递推公式:h(n)=((4*n-2)/(n+1))*h(n-1); h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)*h(0). 3前几项为:h(0)=1,h(1) ...
分类:
其他好文 时间:
2017-06-27 20:07:10
阅读次数:
152
递归--练习2--noi6261汉诺塔 一、心得 先把递推公式写出来,会很简单的 二、题目 6261:汉诺塔问题 6261:汉诺塔问题 总时间限制: 1000ms 内存限制: 65536kB描述 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串 ...
分类:
其他好文 时间:
2017-06-21 21:09:52
阅读次数:
160
错排递推公式: d(n) = (n-1)*(d[n-1]+d[n-2]); 证明:将第n个元素放到第k处,第k处的元素如果放到第n处,就是d(n-2),否则,先假设放到第n处,然后错排,就是d(n-1); 1 #include <bits/stdc++.h> 2 3 using namespace ...
分类:
其他好文 时间:
2017-06-14 22:29:34
阅读次数:
246