题目大意:
给你一张无向图,其中有的边为白色有的边为黑色,问你是否有一颗生成树并且它的白色边是斐波那契数列中的一个数
思路:
求出白边最少和最多的生成树之后看是否有一个斐波那契数在这之间就可以
代码
#include
#include
#include
#include
#include
using namespace std;
int T;
struct edge{
int u...
分类:
其他好文 时间:
2015-01-26 22:57:55
阅读次数:
231
题目大意:给定一棵树,每个点上有点权,多次修改点权,以及查询两点间路径上所有点权之间能否找出三个值构成三角形的三边长
被逗了- -
首先考虑如果一些数不能构成三角形的三边长,那么这些数最多有多少个?
显然当这些数构成斐波那契数列的时候数值的个数最多- -
那么2^31以内共有多少个斐波那契数?46!
也就是说当两点间路径上的点>=47时答案一定是YES!
那么小于47时只要暴力就行- ...
分类:
其他好文 时间:
2015-01-26 22:57:17
阅读次数:
202
1. 常见的数列总结(1)斐波那契数列: 如何实现斐波那契数列,我们可以采取如下方法: (1)递归求解(慢)(2)递推法 (3)矩阵快速幂 下面给出矩阵快速幂的由来: 除了这些问题,我们对于斐波那契数列还可能涉及高精度数的处理问题。(2)卡特兰数 卡塔兰数是组合数学中一个常...
分类:
编程语言 时间:
2015-01-24 18:35:20
阅读次数:
237
题目:写一个函数,输入n,求斐波那契数列的第n项。
方法1:递归:
int fib2(int n)
{
if(n == 0)
return 0;
if(n == 1)
return 1;
return fib2(n-1)+fib2(n-2);
}
缺点:如果n比较大,那么递归程度比较深
方法2:
int fib(int n)
{
int ...
分类:
编程语言 时间:
2015-01-21 11:39:11
阅读次数:
222
递推思想本身并不跟函数有直接关系(虽然常常写在函数中)。
其基本思路为:
为了解决一个“大”问题,根据现实逻辑,如果能够找到同类问题的一个“最小问题”的答案(通常是已知的),并且根据已知算法,又可以因此得到比最小问题“大一级”问题的答案。 而且,依次类推,又可以得到再大一级问题的答案,最终就可以得到“最大那个问题”(即要解决的问题)的答案。
可见,该思想的过程依赖与2个条件:
1,...
分类:
其他好文 时间:
2015-01-18 09:19:01
阅读次数:
140
题目大意:给定i,求斐波那契数列中有多少F[j]是F[i]的约数,以及这些j的平方和
定理:Gcd(F[i],F[j])=F[Gcd(i,j)]
证明见 http://hi.baidu.com/wyl8899/item/b4ed30e6b9f404acce2d4f68
那么当F[j]|F[i]时,必有Gcd(F[j],F[i])=F[j]
则此时F[Gcd(j,i)]=F[j]
若Gcd...
分类:
其他好文 时间:
2015-01-14 16:59:55
阅读次数:
178
斐波那契数列(从第三项开始)的每一项的值均等于前两项之和。将第一项和第二项取1和2,那么数列的前10项将是:1,2,3,5,8,13,21,34,55,89……考虑斐波那契数列所有值不超过4000000的项,求出所有值为偶数的项的和。
分类:
编程语言 时间:
2015-01-13 19:43:35
阅读次数:
270
#include int main(){ int n,i; int a[45]={2,3}; scanf("%d",&n); for (i=2;iusing namespace std;int main(){ int i; __int64 n,fib[45] = ...
分类:
其他好文 时间:
2015-01-09 20:44:52
阅读次数:
263
You are climbing a stair case. It takesnsteps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb...
分类:
其他好文 时间:
2015-01-08 14:42:31
阅读次数:
160
要理论的话,请自行翻阅《数据结构与算法分析 c语言描述》和《算法导论》,我就贴个代码,请勿吐槽。
分类:
编程语言 时间:
2015-01-06 11:21:50
阅读次数:
170