「一本通 6.5 例 4」佳佳的 Fibonacci

该博客介绍了如何利用矩阵快速幂的方法求解Fibonacci数列的变形求和问题。通过分析,将原始问题转换为矩阵乘法,最终给出求解T(n)的算法步骤,涉及线性代数和高效率计算技巧。
摘要由CSDN通过智能技术生成

题目

S ( n ) S(n) S(n)表示 F i b o n a c c i Fibonacci Fibonacci n n n项和 m o d mod mod m m m的值,即 S ( n ) = ( f 1 + f 2 + . . . . . + f n ) m o d S(n)=(f_1+f_2+.....+f_n)mod S(n)=(f1+f2+.....+fn)mod m m m。其中 f 1 = 1 , f 2 = 1 , f 3 = 2 , . . . . . . , f i = f i − 1 + f i − 2 f_1=1,f_2=1,f_3=2,......,f_i=f_{i-1}+f_{i-2} f1=1,f2=1,f3=2,......,fi=fi1+fi2

已知 T ( n ) = ( f 1 + 2 f 2 + 3 f 3 + . . . . . + n f n ) T(n)=(f_1+2 f_2+3 f_3+.....+n f_n) T(n)=(f1+2f2+3f3+.....+nfn) m o d mod mod m m m,表示 F i b o n a c c i Fibonacci Fibonacci数列的前 n n n项变形后的和 m o d mod mod m m m的值

现在告诉你 n n n m m m的值,请求出 T ( n ) T(n) T(n)的值。

数据范围:
对于 30 % 30 \% 30%的数据, 1 ≤ n ≤ 1000 1 \leq n \leq 1000 1n1000;

对于 60 % 60\% 60%的数据,$1 \leq n \leq 1000 $;

对于 100 % 100\% 100%的数据, 1 ≤ n , m ≤ 2 31 − 1 1\le n,m\le2^{31}-1 1n,m2311.

分析

由于我们已经知道 f n f_n fn S n S_n Sn是如何求得的,我们可以尝试将 T n T_n Tn的表达式转换成 S n S_n Sn或者 f n f_n fn.
可以先来看一下:Fibonacci前n项和
So
T n = f 1 + 2 f 2 + 3 f 3 + . . . + n f n T_n=f_1+2f_2+3f_3+...+nf_n \\ Tn=f1+2f2+3f3+...+nf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值