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

洛谷P3811 【模板】模意义下的乘法逆元

题目背景

这是一道模板题

题目描述

给定 n,p 求 $1\sim n$ 中所有整数在模 p 意义下的乘法逆元。

这里 a 模 p 的乘法逆元定义为 $ax\equiv1\pmod p$ 的解。

输入格式

一行两个正整数 n,p。

输出格式

输出 n 行,第 i 行表示 i 在模 p 下的乘法逆元。

输入输出样例

输入 #1
10 13

输出 #1
1
7
9
10
8
11
2
5
3
4

说明/提示

$ 1 \leq n \leq 3 \times 10 ^ 6$$n < p < 20000528 $

输入保证 p 为质数。

思路分析

线性求逆元

ax\equiv 1(mod\ p)        (p>x)

p=kx+r

k=\left \lfloor \frac{p}{x} \right \rfloor,r=p\%x

kx+r\equiv 0(mod\ p)

kx\equiv -r(mod\ p)

kx\cdot r_{inv}\equiv -r\cdot r_{inv}(mod\ p)\equiv -1(mod\ p)\equiv -x\cdot x_{inv}(mod\ p)

x_{inv}\equiv -k\cdot r_{inv}(mod\ p)

代码

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N=3e6+5;
ll n,p,inv[N];
int main(){cin>>n>>p;inv[1]=1;cout<<1<<"\n";for(ll i=2;i<=n;i++){inv[i]=-(p/i)*inv[p%i];inv[i]=(inv[i]%p+p)%p;cout<<inv[i]<<"\n";}return 0;
}
http://www.xdnf.cn/news/1435393.html

相关文章:

  • Linux操作系统(6)
  • java-设计模式-3-创建型模式-原型
  • 一文读懂 Python 【循环语句】:从基础到实战,效率提升指南
  • 【机器学习学习笔记】Matplotlib 基本操作
  • Java 大视界 --Java 大数据在智能教育学习资源整合与知识图谱构建中的深度应用(406)
  • 如何将大疆无人机拍摄到的图像回传到应急指挥中心大屏?5G单兵图传轻松解决图传问题|伟博视讯
  • Ansible角色:高效开发与管理的秘密
  • Ukey介绍
  • HTML第二课:块级元素
  • 【3D 入门-3】常见 3D 格式对比,.glb / .obj / .stl / .ply
  • Ascend上开发自定义算子接入PyTorch有几种实现方式?
  • Higress云原生API网关详解 与 Linux版本安装指南
  • 企业数字安全守护神:IT运维管理系统全面解析,构建坚不可摧的防护体系
  • 实现自己的AI视频监控系统-第三章-信息的推送与共享3(重点)
  • 数据结构:闭散列 (Closed Hashing)-开放定址法 (Open Addressing)
  • react用useImages读取图片,方便backgroundImage
  • hikvision海康威视sdk调用失败,code为29解决办法
  • 集采与反腐双重压力下,医药销售的破局之道:从资源依赖到价值重构
  • 从结构化到多模态:RAG文档解析工具选型全指南
  • Portainer:Docker可视化管理神器部署与使用攻略
  • 不只是一台玩具车:开源燃料电池机器人HydroBot全揭秘
  • 怎么用redis lua脚本实现各分布式锁?Redisson各分布式锁怎么实现的?
  • Unity通过Object学习原型模式
  • ES6和CommonJS模块区别
  • GNU Make | C/C++项目自动构建入门
  • DevOps运维与开发一体化及Kubernetes运维核心详解
  • Aurobay EDI 需求分析:OFTP2 与 EDIFACT 驱动的汽车供应链数字化
  • DataAgent技术解析:数据智能的未来之路
  • LangGraph 上下文工程权威指南:构建智能、感知、有记忆的 AI 代理
  • Ubuntu平台查看.gz格式压缩文件内容以及利用grep命令过滤搜索内容