《P1939 矩阵加速(数列)》

题目描述

已知一个数列 a,它满足:

ax​={1ax−1​+ax−3​​x∈{1,2,3}x≥4​

求 a 数列的第 n 项对 109+7 取余的值。

输入格式

第一行一个整数 T,表示询问个数。

以下 T 行,每行一个正整数 n。

输出格式

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

输入输出样例

输入 #1复制

3 6 8 10

输出 #1复制

4 9 19

说明/提示

  • 对于 30% 的数据 n≤100;
  • 对于 60% 的数据 n≤2×107;
  • 对于 100% 的数据 1≤T≤100,1≤n≤2×109。

代码实现:

#include <cstdio> #include <iostream> using namespace std; #define INF 1000000007 long long n, q[105]; struct mat{ long long m[3][3]; int sz; }; mat mul(mat a, mat b) { mat res; for(int i=0;i<3;i++) for(int j=0;j<3;j++) res.m[i][j]=0; for(int i=0;i<3;i++) for(int j=0;j<a.sz;j++) for(int k=0;k<3;k++) res.m[i][j]=((res.m[i][j]%INF)+(a.m[k][j]%INF)*(b.m[i][k]%INF))%INF; res.sz=a.sz; return res; } void qpow(long long x) { mat t, ans; ans.sz=1; t.sz=3; ans.m[0][0]=ans.m[1][0]=ans.m[2][0]=1; for(int i=0;i<3;i++) for(int j=0;j<3;j++) t.m[i][j]=0; t.m[0][0]=t.m[0][2]=t.m[1][0]=t.m[2][1]=1; while(x) { if(x&1) ans=mul(ans, t); t=mul(t, t); x>>=1; } cout<<ans.m[0][0]%INF<<endl; } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>q[i]; for(int i=1;i<=n;i++) { if(q[i]<=3) {cout<<1<<endl;continue;} qpow(q[i]-3); } return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1201796.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cdn哪家好

在数字化时代,网站、APP等在线业务的稳定性与安全性直接决定用户体验与企业收益。而SCDN(Secure Content Delivery Network,安全内容分发网络)作为融合“内容加速”与“安全防护”的关键基础设施,其专业性直接影响…

使用 Python 脚本自动化管理 Docker 容器:启动、修改密码、删除及系统资源监控

在日常开发和运维中&#xff0c;我们经常需要对 Docker 容器进行批量操作&#xff0c;比如启动容器、重置 root 密码、删除无用容器等。手动执行命令效率低且容易出错。本文将通过 Python 脚本实现以下功能&#xff1a; 启动指定名称的容器修改容器内 root 用户密码安全删除容…

从DEM到等高线:手撕矢量与栅格两种地形表达

深入解析等高线地形图的矢量与栅格两种生成原理,并通过 C++ 代码从零实现 DEM 到等高线的完整流程,揭示 GIS 地形表达的核心逻辑。本文节选自新书《GIS基础原理与技术实践》第6章。很多人会用 gdal_contour 一键生成…

智表ZCELL产品V3.5 版发布,新增行列选中操作等功能

智表ZCELL产品V3.5 版发布,新增行列选中操作等功能,欢迎大家体验使用。 本次版本(V3.5)更新内容如下:1.新增行列头光标自定义样式功能。 2.新增点击行列头选中整行整列功能。 3.新增滑动鼠标选中多行多列功能。 4…

自定义广播数据实现网络冲突自检中的问题

通过自定义协议广播发送数据实现网络冲突自检时,相同IP的设备无法互相收到彼此发送的广播数据 原因:网络协议栈过滤了来自同IP的广播数据(但可以收到自己发送的广播数据,原因待确认) 解决方法:通过原始套接字在协…

深入解析:量化血流动力学新时代:以数据驱动重构临床决策的精准与高效

深入解析:量化血流动力学新时代:以数据驱动重构临床决策的精准与高效pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &…

整数、浮点数的内存中存储

引言两种数据在C语言中都十分的重要&#xff0c;很有必要都掌握清楚。一、整数以我们常见的数字进制来说&#xff0c;生活中普遍为十进制的数字&#xff0c;遇十进一&#xff0c;但是计算机由于其底层逻辑的影响&#xff0c;采取了二进制的方式存储数据。常用的编译器还会采取十…

AlexNet 迁移学习实战:CIFAR-10 图像分类实验 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

element-ui table高度自适应实现分享

文章目录概要实现思路具体代码自适应封装mixins代码使用示例组件代码附加分享概要 在后台管理系统开发过程中&#xff0c;通常我们的布局都是如下图。这里面比较头疼的问题就是右侧这个table的高度自适应问题&#xff0c;接下来我将分享如何简单实现表格高度自适应。 实现思…

Linux Rootkit 手法解析(下):深入内核态的“隐形”攻防战

在上篇文章中&#xff0c;我们剖析了用户态Rootkit的种种手法&#xff0c;它们如同在操作系统的“外部广场”上进行伪装和欺骗。尽管手段多样&#xff0c;但其隐蔽性终究受限于用户空间的环境&#xff0c;细心的守护者总能通过多种方法发现端倪。 但此刻&#xff0c;我们将要推…

Linux Rootkit 手法解析(上):用户态的“隐身术”与检测思路

Linux Rootkit是一类针对Linux操作系统设计的恶意工具集&#xff0c;它通过多种方式隐藏自身和攻击活动&#xff0c;使得攻击者能够绕过安全防御机制&#xff0c;在受害主机上非法维持控制权限&#xff0c;因此常被喻为黑客的“隐身斗篷”。 面对这种高级威胁&#xff0c;了解…

TikTok矩阵工具实操指南:分主体适配与落地流程拆解

图片来源&#xff1a;TK云大师摘要&#xff1a;TikTok矩阵运营的核心竞争力&#xff0c;在于工具与业务需求的精准适配。对于号商、品牌方、跨境电商而言&#xff0c;工具选型失误会直接导致运营效率低下、账号风险攀升。本文聚焦三类主体的核心需求&#xff0c;拆解可直接复用…

人群仿真软件:Pathfinder_(3).人群建模与行为设置

人群建模与行为设置 在人群仿真软件中&#xff0c;人群建模与行为设置是至关重要的步骤&#xff0c;它直接影响到仿真的准确性和可靠性。本节将详细介绍如何在Pathfinder中进行人群建模和行为设置&#xff0c;包括人群属性的定义、行为模式的选择和自定义行为的创建。 1. 人群…

人群仿真软件:Pathfinder_(2).Pathfinder的基本功能与操作

Pathfinder的基本功能与操作 1. 软件界面介绍 1.1 主界面布局 Pathfinder 的主界面布局清晰&#xff0c;主要分为以下几个部分&#xff1a; 菜单栏&#xff1a;包含文件、编辑、视图、工具等常规操作。 工具栏&#xff1a;提供常用的工具按钮&#xff0c;如新建、打开、保存…

DeepSeek+Cursor封神指南:AI驱动编码全流程实战(含代码精解)

目录标题 一、工具选型&#xff1a;为什么是DeepSeekCursor&#xff1f;二、环境搭建&#xff1a;3步接入满血版DeepSeek2.1 前置准备2.2 配置Cursor与DeepSeek2.3 进阶配置&#xff08;优化性能与体验&#xff09; 三、核心操作&#xff1a;CursorDeepSeek快捷用法四、实战案例…

FastAPI系列(02):第一个示例

本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/19503695python环境 python pycharm FastAPI安装 pip install fastapi 安装后就包好了pydantic、starlette 另外,FastAPI 推荐使用 uvicorn 来运行…

心愈语伴:DeepSeek+Qwen2.5打造专属情感聊天工具全教程

目录标题 一、工具核心架构与技术选型1.1 核心设计逻辑1.2 技术栈清单 二、前置准备&#xff1a;环境搭建与资源获取2.1 安装基础依赖2.2 获取DeepSeek API Token2.3 本地部署Qwen2.5-3B模型 三、核心开发&#xff1a;从接口封装到情感协同3.1 封装DeepSeek情感分析接口3.2 封装…

2026年会议纪要工具top9_工具_测评_ASR

2024 年高效语音处理方案推荐根据 IDC《2023 年中国人工智能语音转文字应用市场白皮书》&#xff0c;2023 年中国语音转文字市场规模达 87.6 亿元&#xff0c;同比增长 34.2%&#xff0c;企业级用户对实时转写、多语言支持的需求同比提升 41%。从微观来看&#xff0c;传统会议记…

Vue3+Cesium教程(38)--动态雾浓度、颜色

本学习系列以Cesium Vue3 Typescriptelementplus作为主要技术栈&#xff0c;后续会循序渐进&#xff0c;持续探索Cesium的高级功能&#xff0c;敬请期待。欢迎关注威信公众号“webgis学习”。详情请查阅原文 Vue3Cesium教程(38)--动态雾浓度、颜色https://mp.weixin.qq.com/s…

一天一个Python库:requests - 简单好用的HTTP请求库

requests - 简单好用的HTTP请求库 一、什么是requests? requests 是一个用于发送HTTP请求的 Python 库。 它可以帮助你:轻松发送GET、POST、PUT、DELETE等请求 处理Cookie、会话等复杂性 自动解压缩内容 处理国际化域…