当前位置: 首页 > news >正文

题解:洛谷 P1962 斐波那契数列

【题目来源】

洛谷:P1962 斐波那契数列 - 洛谷

【题目描述】

大家都知道,斐波那契数列是满足如下性质的一个数列:

\[F_n = \left\{\begin{aligned} 1 \space (n \le 2) \\ F_{n-1}+F_{n-2} \space (n\ge 3) \end{aligned}\right. \]

请你求出 \(F_n \bmod 10^9 + 7\) 的值。

【输入】

一行一个正整数 \(n\)

【输出】

输出一行一个整数表示答案。

【输入样例】

5

【输出样例】

5

【解题思路】

image

【算法标签】

《洛谷 P1962 斐波那契数列》 #数学# #递推# #矩阵运算# #矩阵乘法#

【代码详解】

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 1e9+7;
int n, ans;// 定义矩阵结构体
struct Mat
{int num[5][5];  // 矩阵元素,5x5大小但实际只用到2x2
}A, B;  // A: 转移矩阵,B: 结果矩阵// 矩阵乘法函数
Mat mul(Mat x, Mat y)
{Mat res = {};  // 初始化结果矩阵为0for (int i=1; i<=2; i++){for (int j=1; j<=2; j++){for (int k=1; k<=2; k++){res.num[i][j] += x.num[i][k] * y.num[k][j];  // 矩阵乘法res.num[i][j] %= mod;  // 取模防止溢出}}}return res;  // 返回结果矩阵
}// 矩阵快速幂
Mat quick(Mat x, int y)
{Mat res = {};  // 初始化结果矩阵res.num[1][1] = res.num[2][2] = 1;  // 初始化为单位矩阵Mat base = x;  // 基础矩阵while (y)  // 快速幂计算{if (y%2)  // 如果指数是奇数{res = mul(res, base);  // 乘以当前base}base = mul(base, base);  // base自乘y /= 2;  // 指数减半}return res;  // 返回结果矩阵
}signed main()  // 因为使用#define int long long,所以用signed main
{cin >> n;  // 输入nif (n<=2)  // 前两项特殊情况{cout << 1 << endl;  // 前两项都是1return 0;}// 初始化转移矩阵A// 对于斐波那契数列的转移矩阵是:// [F(n)  F(n-1)] = [F(n-1)  F(n-2)] * [1 1]//                                       [1 0]A.num[1][1] = 1;  // 第一行第一列A.num[1][2] = 1;  // 第一行第二列A.num[2][1] = 1;  // 第二行第一列A.num[2][2] = 0;  // 第二行第二列(默认是0)B = quick(A, n-2);  // 计算A的(n-2)次幂,得到转移矩阵// 计算第n项斐波那契数// 根据公式:[F(n)  F(n-1)] = [F(2)  F(1)] * A^(n-2)// 其中F(1)=1, F(2)=1ans = (B.num[1][1] + B.num[2][1]) % mod;  // 计算F(n)cout << ans << endl;  // 输出结果return 0;
}

【运行结果】

5
5
http://www.jsqmd.com/news/397189/

相关文章:

  • Solution - P2175 小Z的游戏分队
  • 北京丰宝斋上门回收,名家字画+古木家具,一站式变现更省心 - 品牌排行榜单
  • 题解:洛谷 P4071 [SDOI2016] 排列计数
  • 北京明清古籍回收,丰宝斋老字号上门,现金结算,价公道有保障 - 品牌排行榜单
  • [Kaleidoscope of Physics] 自然坐标系
  • 2026 专业除醛产品怎么选:光触媒和生物酶睿石适配场景 + 组合技巧 - 资讯焦点
  • 2026年2月中国推荐GEO服务商TOP8综合实力权威榜单:企业AISEO选型深度指南 - 资讯焦点
  • 北京线装书回收,丰宝斋上门鉴定,现金结算,专业守护文脉 - 品牌排行榜单
  • MISSION.md — AI自主创收作战手册
  • 2026年正规靠谱十大移民中介公司推荐,零拒签+零纠纷是选择金标准 - 资讯焦点
  • 2026年2月中国正规移民中介十大排行榜:飞际移民位居前列的客观观察 - 资讯焦点
  • 北京老书旧书回收,丰宝斋上门服务,现金结算,不让老书蒙尘 - 品牌排行榜单
  • 2026年智能干选机行业主流制造商权威评测:技术落地成核心分水岭,头部格局基本成型 - 资讯焦点
  • 题解:洛谷 P1313 [NOIP 2011 提高组] 计算系数
  • 北京红宝书回收,丰宝斋上门服务,现金结算,价高同行 - 品牌排行榜单
  • 2026年2月权威发布:GEO优化服务商排行TOP7综合实力评估与选型指南 - 资讯焦点
  • 长期主义的拼命,会给你留后劲
  • 京东e卡回收灵活渠道解析 - 资讯焦点
  • 新房+儿童房+新车除醛攻略:2026 三款顶级除醛产品组合使用方法 - 资讯焦点
  • 北京丰宝斋上门回收名家字画,当场现金结算,老字号更靠谱 - 品牌排行榜单
  • 头屑反复、头皮瘙痒?2026实测5款高口碑去屑洗发水,重拾清爽秀发 - 资讯焦点
  • 最新实测|头油星人必看!10款热门控油洗发水深度测评,告别扁塌大油头 - 资讯焦点
  • 国产2026防脱发生发增发密发哪个牌子效果好?十大高分防脱生发品牌排行榜 - 资讯焦点
  • 1978-2024年各地级市全要素生产率数据
  • 在机器学习建模过程中,参数调优是个绕不开的坎。今天咱们用Matlab的神经网络工具箱实战一把K折交叉验证寻参,手把手搞定隐藏层节点数的选择
  • 两座城市,同一个 “立方”:透视春晚舞台上的中国算力地标 - 资讯焦点
  • 【硬核推测】2026自动挡古筝技术细节全解析|从乐展线索反推量产方案,附工程落地猜想
  • 题解:洛谷 P1287 盒子与球
  • 题解:洛谷 P3197 [HNOI2008] 越狱
  • LeetCode761:特殊的二进制字符串