当前位置: 首页 > news >正文

做外贸英语要什么网站盘古百度推广靠谱吗

做外贸英语要什么网站,盘古百度推广靠谱吗,云南建站,音乐介绍网站怎么做的上一次我们了解了矩阵的运算和如何使用矩阵解决斐波那契数列&#xff0c;这一次我们多看看例题&#xff0c;了解什么情况下用矩阵比较合适。 先看例题 1.洛谷P1939 【模板】矩阵加速&#xff08;数列&#xff09; 模板题应该很简单。 补&#xff1a;1<n<10^9 10^9肯定…

上一次我们了解了矩阵的运算和如何使用矩阵解决斐波那契数列,这一次我们多看看例题,了解什么情况下用矩阵比较合适。

先看例题

1.洛谷P1939 【模板】矩阵加速(数列)

模板题应该很简单。

补:1<n<=10^9

10^9肯定超了,所以可以用矩阵做

我们可以观察到,每一项(x>3)都是由两个量组成,于是创建矩阵:

A=[a_{n-1},a_{n-3}]

同时:B=A\times base=[a_{n},?]

那么因为如果要再让A\times base\times base=[a_{n+1},??],A*base 之后还是应该是前一个为一项,后一项为它的两项前。所以?处应为a_{n-2}。??处应为什么自己想想,发在评论区里吧。

但是,a_{n-2}在A中并没有出现,这样我们就不可以用A*base表示B了,因为矩阵的乘法中,必须要上一个矩阵中有的元素,才能进入下一个矩阵中。

无论怎样,a_{n-2}都无法表示为n\times a_{n-1}+m\times a_{n-2}的形式,所以B不可以由A构成。

那这个时候就可以用一个巧妙的方法:我们在A和B中都增加a_{n-2}这一项,这样就会变成

[a_{n-1},a_{n-2},a_{n-3}]\times base=[a_{n},a_{n-1},a_{n-2}]

a_{n}可以表示为a_{n-1}+a_{n-3},这样就可以满足每一个条件都可以了。

那么我们利用矩阵乘法,在纸上演算七七四十八个小时,就可以得出,

base=\begin{bmatrix} 1,1,0\\ 0,0,1\\ 1,0,0\\ \end{bmatrix}

那么用和斐波那契数列一样的做法,快速幂即可

#include<bits/stdc++.h>
using namespace std;
#define mod 1000000007
struct Matrix{int n,m;long long a[100][100];Matrix(){memset(a,0,sizeof(a));}Matrix(int _n,int _m){n=_n;m=_m;memset(a,0,sizeof(a));}
};
Matrix ans(1,3);
Matrix base(3,3);
void init(){ans.a[0][0]=1;ans.a[0][1]=1;ans.a[0][2]=1;base.a[0][0]=1;base.a[0][1]=1;base.a[0][2]=0;base.a[1][0]=0;base.a[1][1]=0;base.a[1][2]=1;base.a[2][0]=1;base.a[2][1]=0;base.a[2][2]=0;
}
Matrix mul(Matrix a,Matrix b){Matrix res(a.n,b.m);for(int i=0;i<a.n;i++){for(int j=0;j<b.m;j++){for(int k=0;k<a.m;k++){res.a[i][j]+=a.a[i][k]*b.a[k][j]%mod;}res.a[i][j]%=mod;}}return res;
}
Matrix bpow(Matrix a,long long n){Matrix res(a.n,a.n);for(int i=0;i<a.n;i++)res.a[i][i]=1;while(n!=0){if(n&1){res=mul(res,a);}a=mul(a,a);n>>=1;}return res;
}
long long F(long long n){base=bpow(base,n-3);/*for(int i=0;i<3;i++){for(int j=0;j<3;j++){cout<<base.a[i][j];}cout<<endl;}*/ans=mul(ans,base);return ans.a[0][0]%mod;
}
int main(){long long t;cin>>t;while(t--){long long n;cin>>n;if(n<=3){cout<<1<<endl;continue;}init();cout<<F(n)<<endl;}return 0;
}

2.洛谷P1349 广义斐波那契数列

其实很简单,就是把斐波那契数列的模板套一下

先写一半

http://www.dt0577.cn/news/32066.html

相关文章:

  • 衣邦人上门定制靠谱吗引擎搜索优化
  • 网站实名认证资料牛排seo系统
  • 单位网站建设注意事项seo快速工具
  • 软件开发技术培训课程seo平台优化服务
  • 定西市建设局网站免费个人网站模板
  • 响水哪家专业做网站推特是谁的公司
  • 温州公司建设网站制作网站制作400哪家好
  • 云南网站建设天软科技济宁seo优化公司
  • 公安局网站源码软件推广方案经典范文
  • 重庆做网站制作的公司网站开发流程有哪几个阶段
  • 宽带办理一年多少钱贵州seo技术查询
  • 网站开发人员薪资企业网站seo优化外包
  • 手机网站生成app客户端百度热门排行榜
  • 原网站开发新功能互联网营销主要学什么
  • 建设雅马哈官方网站有没有免费的seo网站
  • 深圳外贸网站建设友链提交入口
  • 哪个网站可以做破案h5东莞做网站推广的公司
  • 宁波广告公司网站建设seo搜索是什么意思
  • 哈尔滨网站建设信息网站快速推广
  • 烟台网站建设询问企汇互联专业百度搜索入口官网
  • 微网站如何做微信支付宝支付宝支付宝今日热点新闻事件标题
  • 让别人做网站的步骤腾讯广告平台
  • 做一个属于自己的网站免费的短视频app大全下载
  • 网站开发 天津深圳网站开发公司
  • 京东网站建设吗推广普通话活动方案
  • 做菠菜网站代理犯法吗网站的收录情况怎么查
  • 抚州网站制作太原百度关键词优化
  • 常州商城网站制作公司外贸营销型网站建设公司
  • 关于一学一做的短视频网站google广告投放
  • 企业网站的设计要求有哪些淘宝优化标题都是用什么软件