矩阵连乘。 1.求具体值矩阵连乘1确定递推公式和我们要求什么2将我们要求的东西用前项表示出来用到的元素就是状态矩阵3元素之间的递推关系组成转移矩阵2.求后n项对值取模1en)即可3.求位数通项公式log1014.求前n项tplog10(1.0/sqrt(5))(double)n*log10((1.0sqrt(5))/2.0);anspow(10,tp-(int)tpn-1);5.找规律通项公式的推导#includebits/stdc.h using namespace std; int main() { long long n,a,b,u,v; while(scanf(%lld %lld %lld %lld %lld,n,a,b,u,v)!EOF) { double csqrt(u*u4*v); double x(uc)/2.0; double y(u-c)/2.0; double lenn*log10(x)log10(b-a*y)-log10(c); printf(%lld\n,(long long)len1); } return 0; }比较麻烦思路清晰的#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0); #define endl \n #define pb push_back #define dbg(x) std::cout#x:x typedef long long ll; typedef pairint,int PII; const int MAX52; ll f1,f2,a,b,k,n,MOD,dim; struct Matrix{ ll m[MAX][MAX]; Matrix(bool ident false){ memset(m,0,sizeof(m)); if(ident){ for(int i0;iMAX;i) m[i][i]1; } } }; Matrix I(true); Matrix P; Matrix mul(Matrix a,Matrix b) { Matrix c; for(int i0;iMAX;i){ for(int j0;jMAX;j){ for(int k0;kMAX;k){ c.m[i][j]a.m[i][k]*b.m[k][j]%MOD; c.m[i][j]%MOD; } } } return c; } Matrix qpow(Matrix base,ll exp) { Matrix res(true); while(exp){ if(exp1) resmul(res,base); basemul(base,base); exp1; } return res; } ll mod_pow(ll x,ll e){ ll res1; x%MOD; while(e){ if(e1) resres*x%MOD; xx*x%MOD; e1; } return res; } void solve() { cinf1f2abknMOD; if(MOD1){ cout0endl; return; } if(k0){ cout(n%MOD)endl; return; } if(n1){ coutmod_pow(f1,k)endl; return ; } dimk2; vectorvectorll C(k1,vectorll(k1,0)); for(int i0;ik;i){ C[i][0]C[i][i]1%MOD; for(int j1;ji;j){ C[i][j](C[i-1][j-1]C[i-1][j])%MOD; } } vectorllpowA(k1,1),powB(k1,1); for(int i1;ik;i){ powA[i]powA[i-1]*(a%MOD)%MOD; powB[i]powB[i-1]*(b%MOD)%MOD; } Matrix M; for(int i0;ik;i){ for(int j0;jk;j){ if(ijk){ int tk-i-j; ll coeffC[k-i][j]; coeffcoeff*powA[t]%MOD; coeffcoeff*powB[j]%MOD; M.m[i][j]coeff; } } } Matrix B; for(int i0;ik;i){ for(int j0;jk;j){ B.m[i][j]M.m[i][j]; } } B.m[k1][0]1; B.m[k1][k1]1; vectorllpowF1(k1,1),powF2(k1,1); for(int i1;ik;i){ powF1[i]powF1[i-1]*(f1%MOD)%MOD; powF2[i]powF2[i-1]*(f2%MOD)%MOD; } vectorllV2(dim,0); for(int i0;ik;i){ V2[i]powF2[k-i]*powF1[i]%MOD; } V2[k1]powF1[k]; Matrix Pnqpow(B,n-2); vectorllVn(dim,0); for(int i0;idim;i){ for(int j0;jdim;j){ Vn[i](Vn[i]Pn.m[i][j]*V2[j])%MOD; } } ll ans(Vn[dim-1]Vn[0])%MOD; coutansendl; } int main() { IOS int T1;cinT; while(T--) solve(); return 0; }#include bits/stdc.h using namespace std; #define IOS ios::sync_with_stdio(false),cin.tie(0); #define endl \n #define pb push_back #define dbg(x) std::cout#x:x typedef long long ll; typedef pairint,int PII; const int N1005; const int MOD10000; const int MAX2; typedef struct{ ll m[MAX][MAX]; } Matrix; Matrix P{0,1, 1,1}; Matrix I{1,0, 0,1}; ll n; ll a[40]; void Init(){ a[2]a[1]1;a[0]0; for(int i3;i39;i){ a[i]a[i-1]a[i-2]; } } Matrix matrixmul(Matrix a,Matrix b) { Matrix c; for(int i0;iMAX;i){ for(int j0;jMAX;j){ c.m[i][j]0; for(int k0;kMAX;k){ c.m[i][j](a.m[i][k]*b.m[k][j])%MOD; c.m[i][j]%MOD; } } } return c; } Matrix qpow(ll n){ Matrix mP,bI; while(n1){ if(n1){ bmatrixmul(b,m); } nn1; mmatrixmul(m,m); } return b; } void solve() { Init(); while(cinn){ if(n39){ couta[n]endl; continue; } Matrix tmpqpow(n); int ans_etmp.m[0][1]%MOD; double log_tplog10(1.0/sqrt(5))(double)n*log10((1.0sqrt(5))/2.0); int ans_s(int)pow(10,log_tp-(int)log_tp3); coutans_s...; printf(%04d\n,ans_e); } } int main() { int T1;//cinT; while(T--) solve(); return 0; }

相关新闻

最新新闻

Windows C语言编程:使用Beep API控制蜂鸣器发声实战指南

Windows C语言编程:使用Beep API控制蜂鸣器发声实战指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在 Windows 系统上进行 C 语言开发时,除了处理文件、网络和图形界面,有时也需要与硬件进行一些简单的交互&…

2026/7/9 9:21:48
百度网盘秒传技术:5分钟掌握永久分享的终极秘籍

百度网盘秒传技术:5分钟掌握永久分享的终极秘籍

百度网盘秒传技术:5分钟掌握永久分享的终极秘籍 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 在数字时代,文件分享已成为日常工作…

2026/7/9 9:21:48
我为什么给RuyiDify引入CodeGraph

我为什么给RuyiDify引入CodeGraph

OK,OK,大家好,欢迎大家来到大鹏 AI 教育,我是张大鹏。 上一篇文章里,我说自己重新看了一遍 Dify,也决定把 RuyiDify 做成一门智能体开发实战课。 但真正要把一个开源项目讲成课程,第一步不是急…

2026/7/9 9:21:48
Three.js 图片生成3D模型教程

Three.js 图片生成3D模型教程

图片生成3D模型 Image to 3D ▶ 访问外部案例 你将学到什么 本案例核心 API 与实现思路对照源码与在线效果学习 效果说明 本案例演示 图片生成3D模型 效果:基于 WebGL 实现「图片生成3D模型」可视化效果。建议先打开文首在线案例查看动态画面,再对照…

2026/7/9 9:21:48
学习率 Warmup 策略:从 0 爬到目标值不是形式主义

学习率 Warmup 策略:从 0 爬到目标值不是形式主义

学习率 Warmup 策略:从 0 爬到目标值不是形式主义 一、为什么你的 Loss 曲线总在开头抖一下 打开 TensorBoard,第 0 到 200 步的 Loss 曲线如果是一个陡峭的下冲后剧烈震荡,你大概率跳过了 Warmup。这不是经验主义,是优化动力学决…

2026/7/9 9:21:48
当 Token 在三个平台跳着不同的舞:设计 Token 多平台同步的 Web、iOS、Android 一致性方案

当 Token 在三个平台跳着不同的舞:设计 Token 多平台同步的 Web、iOS、Android 一致性方案

当 Token 在三个平台跳着不同的舞:设计 Token 多平台同步的 Web、iOS、Android 一致性方案 一、深度引言与场景痛点 设计 Token 是设计系统的脉搏信号,在 Web 端它是 CSS 自定义属性(var(--color-primary)),在 iOS 端它…

2026/7/9 9:16:48

月新闻