链接:http://acm.hdu.edu.cn/showproblem.php?pid=4786
题意:有N个节点(1 5),M条边(0 5),其中一部分边被染成了黑色,剩下的边是白色,问能不能建立一棵树,树中有斐波那契数个白色边。
思路:用克鲁斯卡尔建三次树,第一是用所有边建树,判断是否能建成一棵树,第二次用黑边建树,最多可以用到x条黑边(不成环),n-1-x就是最少需要用的白边的数量,第...
分类:
其他好文 时间:
2014-08-05 11:22:59
阅读次数:
209
HDU 3117 Fibonacci Numbers(斐波那契前后四位,打表+取对+矩阵快速幂)
ACM
题目地址:HDU 3117 Fibonacci Numbers
题意:
求第n个斐波那契数的前四位和后四位。
不足8位直接输出。
分析:
前四位有另外一题HDU 1568,用取对的方法来做的。
后四位可以用矩阵快速幂,MOD设成10000就行了。
...
分类:
其他好文 时间:
2014-08-05 03:05:38
阅读次数:
208
yield_atom::="("yield_expression")"yield_expression::="yield"[expression_list]在Python中带有yield的函数被称之为generator(生成器),简单地讲,yield的作用就是把一个函数变成一个generator。我们用生成斐波那契数列说明:>>>deffab(max):
n,a,b=0,0,1
while..
分类:
编程语言 时间:
2014-08-04 18:16:48
阅读次数:
243
题意:给出n个点,m条边,和边的信息。边有两种颜色,白色和黑色,现要求构造一个生成树,看能否满足白边的数量是斐波那契数。
这道题比赛的时候,小白想到了一种方法:按边颜色排序后,先用白边优先建树,求出最大白边最大个数maxm,再用黑边优先建树,求出白边最小个数minm,看这两个范围内是否存在斐波那契数。
听上去感觉还挺有道理,但是不知道怎么证明正确性,后来想想,生成树构造完之后,再添加任...
分类:
其他好文 时间:
2014-08-04 14:29:07
阅读次数:
229
N个顶点,M条边,每条边可能为黑色或是白色( 0 or 1 ),问有没有可能用为斐波那契数的数目的白色边构成一棵生成树。所以需要删掉图中的环,根据每次删掉的边有一个白色边的上限和下限,判断一下中间有没有斐波那契数就可以了。实现方法是根据颜色排序,先放黑色边得到的是最小数目的白色边构成的生成树,先放白色边得到是最大数目的白色边构成的生成树。
#include
#include
#include
#...
分类:
其他好文 时间:
2014-08-04 11:03:47
阅读次数:
231
这个题是要用矩阵的知识解决斐波那契数列,题目中给的公式很简单,直接往上套就行了,那我们就先看除了题目给的方法外的另一个方法,当然还是矩阵。
先看下面的公式:
不难看出这个式子是把:...
分类:
其他好文 时间:
2014-08-01 19:56:42
阅读次数:
304
斐波那契数列。。。利用斐波那契数列的循环:因为结果%n,所以最多有n^2个数后会出现循环。预处理,不能直接用f[maxn][maxn^2]来保存,数组太大。。。所以用vector来保存斐波那契数列%n 的值。 1 #include 2 #include 3 #include 4 #includ...
分类:
其他好文 时间:
2014-08-01 19:04:12
阅读次数:
173
假如F[1] = a, F[2] = B, F[n] = F[n - 1] + F[n - 2]。写成矩阵表示形式可以很快发现F[n] = f[n - 1] * b + f[n - 2] * a。 f[n] 是斐波那契数列也就是我们如果知道一段区间的前两个数增加了多少,可以很快计算出这段区间的第k个...
分类:
其他好文 时间:
2014-07-31 09:47:46
阅读次数:
286