首页 > 其他分享 >快速幂笔记

快速幂笔记

时间:2024-12-22 16:31:18浏览次数:6  
标签:return int long 笔记 a% 快速 lld

快速幂笔记

问题

给你三个整数 \(a\) , \(b\) , \(p\) ,求 \(a^b \bmod p\)。

思路

如果直接算复杂度太高了,我们考虑优化。
我们知道 \(a^b\) 有两种情况,一种是 \(n\) 为偶数,一种是 \(n\) 为奇数。
因为 \(a^{m+n}=a^m+a^n\) ,所以当 \(n\) 为偶数时 \(a^n=a^{n/2}*a^{n/2}\) ,而当 \(n\) 为奇数时,则在此基础上再多乘上一个 \(a\) 就可以了。

#include<bits/stdc++.h>
using namespace std;
#define int long long
int a,b,p;
int qmi(int a,int b,int p){
	int x=1;
	while(b){
		if(b&1) x=x*a%p;
		a=a*a%p;
		b/=2;
	}
	return x;
}
signed main(){
	cin>>a>>b>>p;
	printf("%lld^%lld mod %lld=%lld\n",a,b,p,qmi(a,b,p));
	return 0;
}

水完了。

yingxilin
JX の joker
2024-12-22

标签:return,int,long,笔记,a%,快速,lld
From: https://www.cnblogs.com/yingxilin/p/18622239

相关文章

  • 乘法逆元笔记(蒙哥马利快速幂模)
    乘法逆元笔记(蒙哥马利快速幂模)定义何为逆元?逆元,又称数论倒数。若整数a、b满足同余方程a*b=1(modn),那么a,b互为模n意义下的逆元。前置\(1\):快速幂给你三个整数\(a,b,p\),求\(a^b\bmodp\)。如果直接算复杂度太高了,我们优化。基本的快速幂公式\(a^b\)有两种情况,一种是......
  • 【Java 马踏棋盘算法】韩顺平笔记
    骑士周游算法算法优化意义1.算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依然保持高速计算?2.在Unix下开发服务器程序,功能是要支持上干万人同时在线,在上线前,做内测,一切OK,可上线后,服务器就支撑不住了,公司的CTO对代码进行优化,再次上线,坚如磐石。那瞬间,你就能感受......
  • 2024秋季学期 人工智能导论期末复习笔记
    Chapter3知识推理Chapter4不确定推理Chapter5-1机器学习Chapter5-2深度学习Chapter5-3强化学习......
  • 【Stable Diffusion】SD迎来动画革命,AnimateDiff快速出图
    如果放在几年前,你告诉我说只需一分钟就能做出一段这样的动画,我是万万不相信的,但是当AI时代来临之后,一切都有了可能。今天给大家介绍一个可以快速在sd中生成动画的方法,就是一个叫做AnimateDiff的免费开源项目。现在已经整合到了webUI上面,使用起来非常方便。注意:(如果大家不......
  • CrewAI 技术总结笔记
    CrewAI技术总结笔记CrewAI是一个专注于增强AI代理协作能力的框架,旨在通过角色定制、任务管理、团队协作和流程优化,创建高效的多代理系统。此手册将全面解析CrewAI的核心概念、使用方法及其扩展功能,帮助开发者快速上手并构建复杂的AI解决方案。1.代理(Agents)1.1概......
  • 深度学习笔记——dVAE(DALL·E的核心部件)
    详细介绍DALL·E的核心部件之一——dVAE,在VQ-VAE的基础上使用Gumbel-Softmax实现采样,用于图像生成。文章目录前情提要VAEVQ-VAEVAEvs.VQ-VAE区别不可导问题及解决方法dVAEVQ-VAE和dVAE的对比背景:VQ-VAE的停止梯度策略局限性dVAE的结构dVAE引入Gumbel-Sof......
  • mybatis笔记
    一、基础配置1、配置文件名:按一般约定名字为mybatis-config.xml2、配置文件中的子属性(标签)用途:properties:指定相关参数(如数据库的用户名,密码等)的文件名,类似指定一个xxxx.ini文件。 方便在mybatis-config.xml中用$(xxxx)取值。settings:配置mybatis的运行时行为,比较重要的一......
  • YOLOv9-0.1部分代码阅读笔记-lion.py
    lion.pyutils\lion.py目录lion.py1.所需的库和模块2.classLion(Optimizer): 1.所需的库和模块#Lion优化器是一种新型的神经网络优化算法,由GoogleBrain团队通过遗传算法发现,全称为EvoLvedSIgnMOmeNtum,意为“进化的符号动量”。以下是Lion优化器的一些主要特点和......
  • 【一款超好用的开源笔记Logseq本地Docker部署与远程使用指南】
    ......
  • 程序员修炼之道从小工到专家第八章读书笔记
    注重实效的团队团队文化的重要性:一个注重实效的团队不仅仅是个人能力的集合,而是通过共同的目标、价值观和方法论来驱动。团队成员需要对项目有清晰的理解,并且愿意为共同的成功而努力。协作与分工:团队中的每个成员都有自己的角色,但成功的项目需要良好的协作和明确的分工。避免“......