Reading comprehension HDU - 4990(矩阵快速幂+构造矩阵)

#include<iostream>
using namespace std;
typedef long long LL;
LL n,m;

struct mat{
	LL m[3][3];
};

mat mul(mat a,mat b){
	mat ans;
	for(int i=0;i<3;i++){
		for(int j=0;j<3;j++){
			ans.m[i][j]=0;
			for(int k=0;k<3;k++){
				ans.m[i][j]+=a.m[i][k]*b.m[k][j];
				ans.m[i][j]%=m;
			}
		}
	}
	return ans;
}

mat qb(mat a,LL b){
	mat ans={
	1,0,0,
	0,1,0,
	0,0,1
	};
	mat res=a;
	while(b){
		if(b&1){
		 ans=mul(ans,res);
		 }
		res=mul(res,res);
		b>>=1;
	}
	return ans;
}

int main(){
	while(~scanf("%lld%lld",&n,&m)){
		if(n==1) cout<<1%m<<endl;
		else if(n==2) cout<<2%m<<endl;
		else{
			mat ans={
			1,2,1,
			0,0,0,
			0,0,0
			};
			mat tem={
			0,2,0,
			1,1,0,
			0,1,1
			};
			tem=qb(tem,n-2);
//				for(int i=0;i<3;i++){
//				for(int j=0;j<3;j++){
//					cout<<tem.m[i][j];
//				}
//				cout<<endl;
//			}
			mat s=mul(ans,tem);

			cout<<s.m[0][1]%m<<endl;
		}
	}
}

矩阵一定要是longlong鸭

全部评论

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
评论
1
收藏
分享
正在热议
# 25届秋招总结 #
441069次浏览 4495人参与
# 春招别灰心,我们一人来一句鼓励 #
41545次浏览 524人参与
# 北方华创开奖 #
107337次浏览 599人参与
# 地方国企笔面经互助 #
7933次浏览 18人参与
# 同bg的你秋招战况如何? #
75837次浏览 554人参与
# 虾皮求职进展汇总 #
114640次浏览 885人参与
# 阿里云管培生offer #
119961次浏览 2219人参与
# 实习,投递多份简历没人回复怎么办 #
2454217次浏览 34849人参与
# 实习必须要去大厂吗? #
55703次浏览 960人参与
# 提前批简历挂麻了怎么办 #
149846次浏览 1977人参与
# 投递实习岗位前的准备 #
1195775次浏览 18547人参与
# 你投递的公司有几家约面了? #
33182次浏览 188人参与
# 双非本科求职如何逆袭 #
661978次浏览 7394人参与
# 如果公司给你放一天假,你会怎么度过? #
4734次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157608次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11417次浏览 276人参与
# 发工资后,你做的第一件事是什么 #
12467次浏览 61人参与
# 工作中,努力重要还是选择重要? #
35657次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20096次浏览 240人参与
# 我的上岸简历长这样 #
451947次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39252次浏览 314人参与
# 非技术岗是怎么找实习的 #
155859次浏览 2120人参与
牛客网
牛客企业服务