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

[蓝桥杯 2025 国 B] 斐波那契字符串一一题解

[P12833 蓝桥杯 2025 国 B] 斐波那契字符串 - 洛谷 (luogu.com.cn)
本题为2025.6.15号蓝桥国CB真题,笔者在此做一个记录。比赛中笔者想出来了,但是晚上复盘时发现在计算代码中:int c=(x%M+y%M)%M,在比赛中忘记对这里的加法取模了,导致加法这里到后续会爆,悲…,一失足成千古恨,希望大家引以为戒TT

  • (S_{n-2}) 内部的逆序对:数量为 fib[n-2]

  • (S_{n-1}) 内部的逆序对:数量为 fib[n-1]

  • 跨部分逆序对:(S_{n-2}) 中的每个 ‘1’ 与 (S_{n-1}) 中的每个 ‘0’ 配对。

  • ones_{n-2} 为 (S_{n-2}) 中 ‘1’ 的数量,等于斐波那契数 (F_{n-3})。

  • zeros_{n-1} 为 (S_{n-1}) 中 ‘0’ 的数量,等于斐波那契数 (F_{n-3})。

  • 因此跨部分数量为 ((F_{n-3})^2),即代码中的 c * c(其中 c = F_{n-3})。

//ACcode
#include <iostream>
#define int long long
using namespace std;
const int N=1e5+10;
const int M=1e9+7;
int fib[N];
void fibc(){fib[1]=0,fib[2]=0,fib[3]=0,fib[4]=1;int x=0;int y=1;for(int i=5;i<=100000;i++){int c=(x%M+y%M)%M;fib[i]=((c%M*c%M)%M+(fib[i-2]%M+fib[i-1]%M)%M)%M;x=y;y=c;}
}
signed main()
{fibc();int t;int n;cin>>t;while(t--){cin>>n;cout<<fib[n]<<endl;}return 0;
}

在这里插入图片描述

相关文章:

  • 快速上手文本向量模型 Sentence-Transformers
  • 基于YOLOv8+Deepface的人脸检测与识别系统
  • 【Docker管理工具】安装Docker磁盘使用仪表板Doku
  • 139. 单词拆分
  • 鸿蒙运动开发实战:打造专属运动视频播放器
  • 【2】Redis 缓存击穿原理和解决方案
  • 制作微PE U盘后电脑多出300M盘符(EFI分区)无法隐藏的解决过程
  • [VSCode] VSCode 设置 python 的编译器
  • LangGraph--Agent常见的模式1(增强型,提示链)
  • 高效开发REST API:Django REST Framework序列化器深度指南
  • macbook配置vscode连接腾讯云服务器
  • springboot测试类原理
  • 掌握这些 Python 函数,让你的代码更简洁优雅
  • 《深度剖析:SCSS中混入(Mixin)为浏览器前缀赋能》
  • Photoshop矢量蒙版全教程
  • Spark核心概念与DAG执行原理笔记
  • 中国风系列简约淡雅通用PPT模版分享
  • Spring Boot 实训项目 - 图书信息网站
  • 鸿蒙Next仓颉语言开发实战教程:设置页面
  • 【系统设计【2】】粗略估算
  • wordpress 哪些网站吗/东莞seo建站公司
  • 玉溪企业网站建设/seo优化软件大全
  • 哈尔滨网站建设工作室/seo搜索引擎优化推广
  • 武义建设工程网站/域名备案查询
  • 网站数据分析报表/营销做得好的品牌
  • 网站网页设计代码/今日热点新闻2022