重邮2018acm校选赛 G超级斐波那契数列 矩阵快速幂求斐波那契数列第1e18项的第8重求和

该博客介绍了如何利用矩阵快速幂算法解决求解斐波那契数列第1e18项的第8重求和问题。通过矩阵乘法和二进制分解降低时间复杂度,达到高效计算的目的。博主分享了自己的理解和实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

令F(i)表示斐波那契数列的第i项。
S1(i)表示F数列的前i项和。
S2(i)表示S1数列的前i项和。
S3(i)表示S2数列的前i项和。
S4(i)表示S3数列的前i项和。
S5(i)表示S4数列的前i项和。
S6(i)表示S5数列的前i项和。
S7(i)表示S6数列的前i项和。
S8(i)表示S7数列的前i项和。
求S8(N)。答案可能很大,请对1000000007取模。
斐波那契数列的定义可以查看https://baike.baidu.com/item/斐波那契数列

输入

多组数据。
输入的第一行包括一个整数表示数据组数T(1<=T<=1000)。
每组数据的第一行包括一个整数表示题目所说的N(1<=N<=1000000000000000000)。

输出

每组数据在单独的一行中输出S8(N)。

样例

Sample Input
4
1
2
3
4
Sample Output
1
9
46
175

提示

F数列前四项:1 1 2 3
S1数列前四项:1 2 4 7
S2数列前四项:1 3 7 14
S3数列前四项:1 4 11 25
S4数列前四项:1 5 16 41
S5数列前四项:1 6 22 63
S6数列前四项:1 7 29 92
S7数列前四项:1 8 37 129
S8数列前四项:1 9 46 175

题解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值