news 2026/8/26 23:20:57

《P1939 矩阵加速(数列)》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《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; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 23:26:04

PX4中关于GPS质量检测和相关控制参数

一、PX4关于GPS质量检测的相关参数 PX4官方参数树&#xff1a;参数参照表 | PX4 Guide (main) 1、EKF2_GPS_CHECK (INT32)&#xff1a; Integer bitmask controlling GPS checks Comment: Each threshold value is defined by the parameter indicated next to the check. …

作者头像 李华
网站建设 2026/8/26 23:25:57

day162—递归—买卖股票的最佳时机Ⅱ(LeetCode-122)

题目描述给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。然而&#xff0c;你可以在 同一天 多次买卖该股票&#xff0c;但要确保你持有的股票不…

作者头像 李华
网站建设 2026/8/26 23:26:34

C#每日面试题-简述反射

C#每日面试题-简述反射 在C#面试中&#xff0c;反射是高频基础考点&#xff0c;多数面试官不仅要求“是什么”&#xff0c;更关注“怎么用”“有何优劣”“底层原理”。本文从入门到进阶&#xff0c;用简单易懂的语言拆解反射&#xff0c;帮你快速掌握核心要点&#xff0c;从容…

作者头像 李华
网站建设 2026/8/26 2:24:34

基于springBoot的高校学生绩点管理系统的设计与实现

高校学生绩点管理系统的背景高校学生绩点管理系统是教育信息化的重要组成部分。随着高校招生规模的扩大&#xff0c;传统手工记录和计算学生成绩的方式已无法满足现代教育管理的需求。学生成绩数据量大、计算复杂&#xff0c;人工操作易出错且效率低下。高校亟需一套自动化、智…

作者头像 李华
网站建设 2026/8/20 21:43:54

智慧园区智能照明控制系统解决方案

1、概述园区照明比较复杂&#xff0c;办公建筑、生产车间和园区道路、景观照明等类型比较多&#xff0c;而且对照明控制方式要求不一样。所以合理使用照明控制系统&#xff0c;针对不同建筑不同场景使用不同的控制策略&#xff0c;大程度使用自然光照明达到节省照明用电&#x…

作者头像 李华