云虚拟主机怎么建网站网站宣传推广
2026/4/16 17:18:31 网站建设 项目流程
云虚拟主机怎么建网站,网站宣传推广,html5修改器下载,建设化工网站的目的题目描述已知一个数列 a#xff0c;它满足#xff1a;ax​{1ax−1​ax−3​​x∈{1,2,3}x≥4​求 a 数列的第 n 项对 1097 取余的值。输入格式第一行一个整数 T#xff0c;表示询问个数。以下 T 行#xff0c;每行一个正整数 n。输出格式每行输出一个非负整数表示答案。输入…题目描述已知一个数列 a它满足ax​{1ax−1​ax−3​​x∈{1,2,3}x≥4​求 a 数列的第 n 项对 1097 取余的值。输入格式第一行一个整数 T表示询问个数。以下 T 行每行一个正整数 n。输出格式每行输出一个非负整数表示答案。输入输出样例输入 #1复制3 6 8 10输出 #1复制4 9 19说明/提示对于 30% 的数据 n≤100对于 60% 的数据 n≤2×107对于 100% 的数据 1≤T≤1001≤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 i0;i3;i) for(int j0;j3;j) res.m[i][j]0; for(int i0;i3;i) for(int j0;ja.sz;j) for(int k0;k3;k) res.m[i][j]((res.m[i][j]%INF)(a.m[k][j]%INF)*(b.m[i][k]%INF))%INF; res.sza.sz; return res; } void qpow(long long x) { mat t, ans; ans.sz1; t.sz3; ans.m[0][0]ans.m[1][0]ans.m[2][0]1; for(int i0;i3;i) for(int j0;j3;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(x1) ansmul(ans, t); tmul(t, t); x1; } coutans.m[0][0]%INFendl; } int main() { cinn; for(int i1;in;i) cinq[i]; for(int i1;in;i) { if(q[i]3) {cout1endl;continue;} qpow(q[i]-3); } return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询