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

洛谷 P2437:蜜蜂路线 ← 高精度加法 + Fibonacci

【题目来源】
https://www.luogu.com.cn/problem/P2437

【题目描述】
一只蜜蜂在下图所示的数字蜂房上爬动,已知它
只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 m 开始爬到蜂房 n,m<n,有多少种爬行路线?

【输入格式】
输入 m,n 的值。

【输出格式】
爬行有多少种路线?

【输入样例】
1 14

【输出样例】
377

【说明/提示】
对于100%的数据,1≤M,N≤
1000

【算法分析】
● 由题意可知,蜜蜂依蜂房 1 至 蜂房 n 的顺序爬行。

故蜜蜂要想爬到第 i 号蜂房,只能从第 i-1 号蜂房爬一步或从第 i-2 号蜂房爬两步而得。

所以,若设 f[i] 表示蜜蜂爬到第 i 号蜂房的路线数,则 f[i]=f[i-1]+f[i-2]

● 蜜蜂从蜂房 m 开始爬到蜂房 n,m<n,经过 n-m+1 个蜂房。依据前述分析,相当于求斐波那契数列的第 n-m+1 项。

● 高精度加法:
https://blog.csdn.net/hnjzsyjyj/article/details/144656955
易看出,路线数 f[i]=f[i-1]+f[i-2] 为斐波那契数列。由于 long long 最大能表示到斐波那契数列的第 92 项,其值为 7,540,113,804,746,346,429。而本题可取到第 1000 项,因此需要使用高精度加法。

【算法代码】

#include <bits/stdc++.h>
using namespace std;

const int maxn=5e3+5;
string s[maxn];

string hiAdd(string a,string b) {
    string c;
    int t=0;
    int i=a.size()-1,j=b.size()-1;
    while(i>=0 || j>=0) {
        if(i>=0) t+=(a[i]-'0');
        if(j>=0) t+=(b[j]-'0');
        c+=(t%10+'0');
        t/=10;
        i--,j--;
    }
    if(t!=0) c+=(t+'0');
    reverse(c.begin(),c.end());
    return c;
}

int main() {
    int m,n;
    cin>>m>>n;
    
    s[1]=s[2]="1";
    for(int i=3; i<=n-m+1; i++) {
        s[i]=hiAdd(s[i-1],s[i-2]);
    }
    cout<<s[n-m+1];

    return 0;
}

/*
in:
1 14

out:
377
*/





【参考文献】
https://www.luogu.com.cn/problem/solution/P2437
https://www.cnblogs.com/IronMan-PZX/p/18132981




 

相关文章:

  • 【秩序的涌现 关键字摘取】
  • 缓存那些事儿
  • 基于Windows11的RAGFlow安装方法简介
  • Serilog: 强大的 .NET 日志库
  • 国产编辑器EverEdit - 超级丰富的标签样式设置!
  • 迷你世界脚本背包接口:Backpack
  • 大模型学习--微调
  • 记一次渗透测试实战:SQL注入漏洞的挖掘与利用
  • 证明:曲线的可导点不能同时为极值点和拐点
  • 2025年AI PPT工具精选:让演示文稿更智能、更高效
  • 【Python项目】基于Python的书籍售卖系统
  • 一周一个Unity小游戏2D反弹球游戏 - 生成反弹障碍物
  • vscode 都有哪些大模型编程插件
  • 微服务中的服务保护方案:确保系统稳定与安全
  • 【菜笔cf刷题日常-1600】C. Binary String(二分求min/max)
  • 厦门大学第二讲:DeepSeek大模型赋能高校教学和科研(124页)(文末附下载方法)
  • 辉视融合服务器方案:为小酒店行业铺垫未来智能化布局
  • 人工智能之数学基础:n阶行列式
  • C语言文件操作学习笔记:从基础到实践
  • Android U 分屏——SystemUI侧处理
  • flashfxp发布网站/互联网营销工具
  • 昆明做网站优化的公司/管理系统
  • 昆明 网站建设/怎么快速优化网站排名
  • 哈尔滨网站开发公司排行榜/seo发贴软件
  • 最新网站推广/seo教育
  • 线上推广工作是做什么的/seo站长工具平台