Crazyharp

竖琴


  1. 1. 原理
  2. 2. 代码
  • Home
  • about
  •   

© 2025 Crazyharp

Theme Typography by Makito

Developed byCrazy_Harp

Proudly published with Hexo

快速幂&& 矩阵快速幂

Posted at 2024-11-17 ACM 

本文共126字,阅读需要约1分钟

原理

将原数字改为二进制,使得$O(n)$的算法优化到$O(logn)$

代码

#include<cstdio>
typedef  long long num;
num ksm(num a,num p){
	//a^p
	num ans=1,b=a;
	while(p>0){
		if((p&1)==1)ans=ans*b;
		b*=b;
		p>>=1;
	}
	return ans;
}
num ksm(num a,num p,num q){
	//a^p modq
	num ans=1,b=a;
	while(p>0){
		if(p&1)ans*=b%q;
		b*=b%q;
		p>>=1;
	}
	return ans;
}
Share 

 Previous post: 搭建个人博客6 Next post: 卢卡斯定理 

© 2025 Crazyharp

Theme Typography by Makito

Developed byCrazy_Harp

Proudly published with Hexo