96SEO 2026-02-19 17:33 13
板子#xff0c;用结构体写的#xff0c;感觉有点丑#xff0c;一会儿看看题解有没有写得好看的

k1;kx.len;k)(c.a[i][j]x.a[i][k]*b.a[k][j]%mod)%mod;}}return
re;sqr1(re);while(y){if(y1)rere*x;xx*x;y1;}xre;
main(){scanf(%d%lld,sqr.len,k);for(int
j1;jsqr.len;j)scanf(%lld,sqr.a[i][j]);}qpow(sqr,k);for(int
k1;k3;k)(c.a[i][j]x.a[i][k]*b.a[k][j]%mod)%mod;}}return
re;sqr1(re);while(y){if(y1)rere*x;xx*x;y1;}xre;
main(){cinT;while(T--){cinn;if(n3){puts(1);continue;}sqr0(sqr);sqr.a[1][1]sqr.a[1][2]sqr.a[2][3]sqr.a[3][1]1;sqr0(A);A.a[1][1]A.a[1][2]A.a[1][3]1;qpow(sqr,n-3);AA*sqr;coutA.a[1][1]endl;}}
把一个矩阵通过行变换变为单位矩阵所需要的行变换操作操作给一个单位矩阵就可以得到其逆矩阵。
故应用高斯消元即可。
chgetchar();while(ch0||ch9){if(ch-)w-1;chgetchar();}while(ch0ch9){s(s3)(s1)(ch15);chgetchar();}xs*w;
re1;while(y){if(y1)re1LL*re*x%mod;x1LL*x*x%mod,y1;}return
j1;jn;j)read(a[i][j]);a[i][ni]1;}for(int
ji;jn;j)if(a[now][i]a[j][i])nowj;if(a[now][i]0){puts(No
0;}if(now!i)swap(a[now],a[i]);for(int
ji1;jn1;j)a[i][j]1LL*a[i][j]*qpow(a[i][i],mod-2)%mod;a[i][i]1;for(int
div1LL*a[j][i]*qpow(a[i][i],mod-2)%mod;for(int
ki;kn1;k)a[j][k](a[j][k]-1LL*a[i][k]*div%modmod)%mod;}}for(int
c;c.sqr[1][1](a.sqr[1][1]*b.sqr[1][1]%moda.sqr[1][2]*b.sqr[2][1]%mod)%mod;c.sqr[1][2](a.sqr[1][1]*b.sqr[1][2]%moda.sqr[1][2]*b.sqr[2][2]%mod)%mod;c.sqr[2][1](a.sqr[2][1]*b.sqr[1][1]%moda.sqr[2][2]*b.sqr[2][1]%mod)%mod;c.sqr[2][2](a.sqr[2][1]*b.sqr[1][2]%moda.sqr[2][2]*b.sqr[2][2]%mod)%mod;return
rec;rec.sqr[1][1]rec.sqr[2][2]1,rec.sqr[1][2]rec.sqr[2][1]0;while(y){if(y1)recrec*x;xx*x,y1;}xrec;
puts(0);a.sqr[1][1]a.sqr[1][2]a.sqr[2][1]1,a.sqr[2][2]0;quickpow(a,n-1);printf(%lld\n,a.sqr[1][1]);
sqr[5][5];node(){memset(sqr,0,sizeof
c;c.sqr[1][1](a.sqr[1][1]*b.sqr[1][1]%moda.sqr[1][2]*b.sqr[2][1]%mod)%mod;c.sqr[1][2](a.sqr[1][1]*b.sqr[1][2]%moda.sqr[1][2]*b.sqr[2][2]%mod)%mod;c.sqr[2][1](a.sqr[2][1]*b.sqr[1][1]%moda.sqr[2][2]*b.sqr[2][1]%mod)%mod;c.sqr[2][2](a.sqr[2][1]*b.sqr[1][2]%moda.sqr[2][2]*b.sqr[2][2]%mod)%mod;return
rec;rec.sqr[1][1]rec.sqr[2][2]1,rec.sqr[1][2]rec.sqr[2][1]0;while(y){if(y1)recrec*x;xx*x,y1;}xrec;
{scanf(%lld%lld%lld%lld%lld%lld,a.sqr[1][1],a.sqr[2][1],b.sqr[1][2],b.sqr[1][1],n,mod);if(n2)return
printf(%lld\n,b.sqr[1][3-n]);a.sqr[1][2]1,a.sqr[2][2]0;quickpow(a,n-2);bb*a;printf(%lld\n,b.sqr[1][1]);
18年外出集训堵了个论文费了两三天时间才切了的人生中第一道黑题现在变成紫题了。
6p这还有个名叫皮萨诺定理。
所以我们考虑求出循环节的长度然后用矩阵乘法求出结果。
n,p,mod,len,fac[100000],power[100000],faccnt,s;
xx;xx.sqr[1][1](a.sqr[1][1]*b.sqr[1][1]%pa.sqr[1][2]*b.sqr[2][1]%p)%p;xx.sqr[1][2](a.sqr[1][1]*b.sqr[1][2]%pa.sqr[1][2]*b.sqr[2][2]%p)%p;xx.sqr[2][2](a.sqr[2][1]*b.sqr[1][2]%pa.sqr[2][2]*b.sqr[2][2]%p)%p;xx.sqr[2][1](a.sqr[2][1]*b.sqr[1][1]%pa.sqr[2][2]*b.sqr[2][1]%p)%p;return
rec;rec.sqr[1][1]rec.sqr[2][2]1;rec.sqr[1][2]rec.sqr[2][1]0;while(y){if(y%21)recrec*x;xx*x;y/2;}return
i2;i*inow;i){if(now%i0){faccnt;fac[faccnt]i;power[faccnt]1;while(now%i0){now/i;power[faccnt]*i;}}}for(rg
i1;ifaccnt;i)power[i]/fac[i];if(now!1){fac[faccnt]now;power[faccnt]1;}for(rg
i1;ifaccnt;i){if(fac[i]2)power[i]*3;else
if(fac[i]%51||fac[i]%54)power[i]*fac[i]-1;else
i1;ifaccnt;i)anslcm(ans,power[i]);return
{scanf(%s%lld,str,p);if(p1){printf(0\n);return
0;}modget(p);lenstrlen(str);for(rg
i0;ilen;i)n((n3)(n1)(str[i]15))%mod;if(n0){printf(0\n);return
0;}if(n1||n2){printf(1\n);return
0;}b.sqr[2][2]0;b.sqr[1][1]b.sqr[1][2]b.sqr[2][1]1;bquickpow(b,n-1);printf(%lld\n,b.sqr[1][1]);
a[N][N];node(){memset(a,0,sizeof
k0;kn;k)(c.a[i][j]x.a[i][k]*b.a[k][j]%mod)%mod;}}return
i0;in;i)re.a[i][i]1;while(y){if(y1)rere*x;xx*x;y1;}xre;
i1,u,v;im;i)cinuv,sqr.a[u][v]sqr.a[v][u]1;cint;for(int
i0;in;i)sqr.a[i][i]1;qpow(sqr,t);int
i0;in;i)(anssqr.a[1][i])%mod;coutansendl;}P5343
dp[i]∑j∈block,j≤idp[i−j]现在考虑如何矩阵优化。
chgetchar();while(ch0||ch9){if(ch-)w-1;chgetchar();}while(ch0ch9){s(s3)(s1)(ch15);chgetchar();}xs*w;
m[N][N];node(){memset(m,0,sizeof
k0;klen;k)c.m[i][j]int((1LL*c.m[i][j]1LL*a.m[i][k]*b.m[k][j]%mod)%mod);return
i0;ilen;i)re.m[i][i]1;while(y){if(y1)rere*x;xx*x;y1;}xre;
i1,x;ip;i){read(x);if(s.find(x)s.end())s.insert(x);}read(q);for(int
i1,x;iq;i){read(x);if(s.find(x)!s.end()!vis[x])a[cnt]x,vis[x]1;}f[0]1;for(int
j1;jcnt;j)if(a[j]i)f[i](1LL*f[i]f[i-a[j]])%mod;if(n100){printf(%d\n,f[n]);return
i0;ilen;i)sqr.m[0][len-i]f[i];for(int
i1;icnt;i)A.m[a[i]-1][0]1;for(int
i1;ilen;i)A.m[i-1][i]1;qpow(A,n-100);sqrsqr*A;printf(%d\n,sqr.m[0][0]);return
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback