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

乘法逆元模板(Orz尧神)

相信我,如果你什么东西不会,什么东西不懂,什么东西不记得了,就去尧神模板里找,相信我,你一定能找到!

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cctype>
#include<cstdlib>
using namespace std;
#define ll long long

ll read(){
	ll x=0,y=1;char ch=getchar();
	while (isdigit(ch)){if (ch=='-')y=-1;ch=getchar();}
	while (!isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}
	return x*y;
}

//exgcd求逆元,要求a,b互质
ll exgcd(ll a,ll b,ll &x,ll &y){
	if (b==0){
		x=0,y=1;
		return a;
	}
	ll gcd=exgcd(b,a%b,x,y),tmp;
	tmp=x;
	x=y,y=tmp-a/b*y;
}

ll cal(ll a,ll b){
	ll x,y;
	ll gcd=exgcd(a,b,x,y);
	if (1%gcd!=0)	return -1;
	if (b<0)b=-1;
	x=(x%b+x)%b;
	while (!x)	x+=b;
	return x;
}
/*
利用费马小定理求逆元,当a,b互质,且b为质数时
由费马小定理得,a^(b-1)=1(mod b)
则有a*a^(b-2)=1(mod b)
那么a^(b-2)就是a在mod b意义下的逆元
*/

ll inv(ll a,ll b){
	ll ans=1;
	while (b){
		if (b&1)	ans*=a;
		a*=a;b>>=1;
	}
	return ans;
}

/*
线性递推求逆元,要求p为奇素数
设k=p%i,m=p/i,则有k+m*i=0(mod p)
则-m*i=k
两边同时除以k*i,有
-m*inv[k]=inv[i]
又有:(p-m)*inv[k]=m*inv[k](mod p)
则:inv[i]=(p-p/i)*inv[p%i]%p
*/
ll inv[1000010];
void getinv(){
	inv[1]=1;
	for (ll i=2;i<=n;i++)	inv[i]=(p-p/i)*inv[p%i]%p;
}

  

转载于:https://www.cnblogs.com/mybing/p/8561375.html

相关文章:

  • 贪吃蛇
  • Logstash教程
  • JS 正则表达式
  • Linux 下修改Tomcat使用的JVM内存大小
  • ie中placeholder字体颜色兼容问题
  • jQuery多媒体播放器插件jQuery Media Plugin
  • https原理
  • [AR]Vumark(下一代条形码)
  • 实现前端MD5加密与记住用户名密码功能
  • 软件测试方法
  • Java EE作业(二)
  • SignalR Core尝鲜
  • MPAndroidChart绘制曲线图、柱状图总结
  • python 的函数、值传递、和作用域(例子)
  • python中的str.strip()的用法
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【前端学习】-粗谈选择器
  • JavaScript中的对象个人分享
  • Java到底能干嘛?
  • mongo索引构建
  • Redis 中的布隆过滤器
  • socket.io+express实现聊天室的思考(三)
  • SOFAMosn配置模型
  • Spring Cloud中负载均衡器概览
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 排序(1):冒泡排序
  • 前端知识点整理(待续)
  • 王永庆:技术创新改变教育未来
  • 新书推荐|Windows黑客编程技术详解
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 《码出高效》学习笔记与书中错误记录
  • 7行Python代码的人脸识别
  • #includecmath
  • #pragam once 和 #ifndef 预编译头
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转载)hibernate缓存
  • .net 8 发布了,试下微软最近强推的MAUI
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET Core中的去虚
  • .net mvc 获取url中controller和action
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .net 提取注释生成API文档 帮助文档
  • .NET 依赖注入和配置系统
  • .Net6使用WebSocket与前端进行通信
  • .NET微信公众号开发-2.0创建自定义菜单
  • @Controller和@RestController的区别?
  • @ModelAttribute 注解
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [AIGC] Redis基础命令集详细介绍
  • [BJDCTF2020]The mystery of ip