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

AcWing算法提高课-5.6.1同余方程

宣传一下 算法提高课整理

CSDN个人主页:更好的阅读体验

Start

原题链接
题目描述

求关于 x x x 的同余方程 a x ≡ 1 ( m o d b ) ax ≡ 1 \pmod b ax1(modb) 的最小正整数解。

输入格式

输入只有一行,包含两个正整数 a , b a,b a,b,用一个空格隔开。

输出格式

输出只有一行,包含一个正整数 x x x,表示最小正整数解。

输入数据保证一定有解。

数据范围

2 ≤ a , b ≤ 2 × 1 0 9 2 \le a,b \le 2 \times 10^9 2a,b2×109

输入样例:
3 10
输出样例:
7

思路

我们对 a x ≡ 1 ( m o d b ) ax ≡ 1 \pmod b ax1(modb) 进行变形:

y ∈ R y \in \mathbb{R} yR,则:

a x ≡ 1 ( m o d b ) ⇔ a x − b y = 1 ax \equiv1 \pmod b \Leftrightarrow ax-by=1 ax1(modb)axby=1

我们知道,扩展欧几里得算法可以计算形如 a x + b y = gcd ⁡ ( a , b ) ax+by=\gcd(a,b) ax+by=gcd(a,b) 的方程的解。

所以直接进行转化即可。

注意: 由于题目要求输出正整数解,所以我们输出 ( x m o d p + p ) m o d p (x \bmod p + p) \bmod p (xmodp+p)modp 即可。

算法时间复杂度 O ( log ⁡ n ) O(\log n) O(logn)
AC Code

C + + \text{C}++ C++

#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;typedef long long LL;LL exgcd(LL a, LL b, LL &x, LL &y)
{if (!b){x = 1, y = 0;return a;}LL d = exgcd(b, a % b, y, x);y -= a / b * x;return d;
}int main()
{LL a, b, x, y;cin >> a >> b;exgcd(a, b, x, y);cout << (x % b + b) % b << endl;return 0;
}

228aa7bed3e021faf24cf8560d3e47bb.gif

最后,如果觉得对您有帮助的话,点个赞再走吧!

相关文章:

AcWing算法提高课-5.6.1同余方程

宣传一下 算法提高课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 求关于 x x x 的同余方程 a x ≡ 1 ( m o d b ) ax ≡ 1 \pmod b ax≡1(modb) 的最小正整数解。 输入格式 输入只有一行&#xff0c;包含两个正整数 a , b a,b a,b&#xff0c;用一…...

Docker Tutorial

什么是Docker 为每个应用提供完全隔离的运行环境 Dockerfile&#xff0c; Image&#xff0c;Container Image&#xff1a; 相当于虚拟机的快照&#xff08;snapshot&#xff09;里面包含了我们需要部署的应用程序以及替它所关联的所有库。通过image&#xff0c;我们可以创建很…...

平面图—简单应用

平面图&#xff1a;若一个图&#x1d43a;能画在平面&#x1d446;上&#xff0c;且使&#x1d43a;的边仅在端点处相交&#xff0c;则称图&#x1d43a;为可嵌入平面&#x1d446;&#xff0c;&#x1d43a;称为可平面图&#xff0c;简称为平面图。 欧拉公式&#xff1a;设有…...

安装JDK(Java SE Development Kit)超详细教程

文章时间 &#xff1a; 2023-10-04 1. 下载地址 直接去下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/ &#xff08;需要翻墙&#xff0c;不想翻墙或者不想注册oracel账号的&#xff0c;直接去我的阿里云盘&#xff09; 阿里云盘&#xff1a;http…...

KUKA机器人通过3点法设置工作台基坐标系的具体方法

KUKA机器人通过3点法设置工作台基坐标系的具体方法 具体方法和步骤可参考以下内容: 进入主菜单界面,依次选择“投入运行”—“测量”—基坐标,选择“3点法”, 在系统弹出的基坐标编辑界面,给基座标编号为3,命名为table1,然后单击“继续”按钮,进行下一步操作, 在弹出的…...

以太网的MAC层

以太网的MAC层 一、硬件地址 ​ 局域网中&#xff0c;硬件地址又称物理地址或MAC地址&#xff08;因为用在MAC帧&#xff09;&#xff0c;它是局域网上每一台计算机中固化在适配器的ROM中的地址。 ​ 关于地址问题&#xff0c;有这样的定义&#xff1a;“名字指出我们所要寻…...

Hadoop启动后jps发现没有DateNode解决办法

多次使用 Hadoop namenode -format 格式化节点后DateNode丢失 找到hadoop配置文件core-site.xml查找tmp路径 进入该路径&#xff0c;使用rm -rf data删除data文件 再次使用Hadoop namenode -format 格式化后jps后出现DateNode节点...

VUE3照本宣科——应用实例API与setup

VUE3照本宣科——应用实例API与setup 前言一、应用实例API1.createApp()2.app.use()3.app.mount() 二、setup 前言 &#x1f468;‍&#x1f4bb;&#x1f468;‍&#x1f33e;&#x1f4dd;记录学习成果&#xff0c;以便温故而知新 “VUE3照本宣科”是指照着中文官网和菜鸟教…...

json/js对象的key有什么区别?

1.对于JS对象来说 一个js对象如果是这样的 obj {"0": "小明","0name": "小明明", "": 18,"&#xffe5;": "哈哈"," ": "爱好广泛" }对于js对象来说&#xff0c;有时候key是不…...

极大似然估计概念的理解——统计学习方法

目录 1.最大似然估计的概念的理解1 2.最大似然估计的概念的理解2 3.最大似然估计的概念的理解3 4.例子 1.最大似然估计的概念的理解1 最大似然估计是一种概率论在统计学上的概念&#xff0c;是参数估计的一种方法。给定观测数据来评估模型参数。也就是模型已知&#xff0c;参…...

python模拟表格任意输入位置

在表格里输入数值&#xff0c;要任意位置&#xff0c;我找到了好方法&#xff1a; input输入 1. 行 2. 列输入&#xff1a;1 excel每行输入文字input输入位置 3.2 表示输入位置在&#xff1a;3行个列是要实现一个类似于 Excel 表格的输入功能&#xff0c;并且希望能够指定输入…...

如何限制文件只能通过USB打印机打印,限制打印次数和时限并且无法在打印前查看或编辑内容

在今天这个高度信息化的时代&#xff0c;文档打印已经成为日常工作中不可或缺的一部分。然而&#xff0c;这也带来了诸多安全风险&#xff0c;如文档被篡改、知识产权被侵犯以及信息泄露等。为了解决这些问题&#xff0c;只印应运而生。作为一款独特的软件工具&#xff0c;只印…...

车牌文本检测与识别:License Plate Recognition Based On Multi-Angle View Model

论文作者&#xff1a;Dat Tran-Anh,Khanh Linh Tran,Hoai-Nam Vu 作者单位&#xff1a;Thuyloi University;Posts and Telecommunications Institute of Technology 论文链接&#xff1a;http://arxiv.org/abs/2309.12972v1 内容简介&#xff1a; 1&#xff09;方向&#x…...

Blender中的4种视图着色模式

Blender中有四种主要的视图着色模式&#xff1a;线框、实体、Look Dev和渲染。它们的主要区别如下&#xff1a; - 线框模式只显示物体的边缘&#xff08;线框&#xff09;&#xff0c;可以让您看到场景中的所有物体&#xff0c;也可以调整线框的颜色和背景的颜色。 - 实…...

Flutter项目安装到Android手机一直显示在assembledebug

问题 Flutter项目安装到Android手机一直显示在assembledebug 原因 网络不好&#xff0c;gradle依赖下载不下来 解决方案 修改如下的文件 gradle-wrapper.properties 使用腾讯提供的gradle镜像下载 distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-7.5…...

数据挖掘实验(二)数据预处理【等深分箱与等宽分箱】

一、分箱平滑的原理 &#xff08;1&#xff09;分箱方法 在分箱前&#xff0c;一定要先排序数据&#xff0c;再将它们分到等深&#xff08;等宽&#xff09;的箱中。 常见的有两种分箱方法&#xff1a;等深分箱和等宽分箱。 等深分箱&#xff1a;按记录数进行分箱&#xff0…...

Vue2 第一次学习

本章为超级浓缩版,文章过于短,方便复习使用哦~ 文章目录 1. 简单引入 vue.js2. 指令2.1 事件绑定指令 v-on (简写 )2.2 内容渲染指令2.3 双向绑定指令 v-model2.4 属性绑定指令 v-bind (简写 : )2.5 条件渲染指令2.6 循环指令 v-for 3. vue 其他知识3.1 侦听器 watch3.2 计算属…...

tiny模式基本原理整合

【Tiny模式】的基本构成 M【首头在首位】 U【/】 V【HTTP/】 Host H【真实ip】 XH \r回车 \n换行 \t制表 \ 空格 一个基本的模式构成 [method] [uri] [version]\r\nHost: [host]\r\n[method] [uri] [version]\r\nHost: [host]\r\n 检测顺序 http M H XH 有些地区 XH H M 我这边…...

使用聚氨酯密封件的好处?

聚氨酯密封件因其优异的耐用性、灵活性和广泛的应用范围而在各个行业中广受欢迎。在本文中&#xff0c;我们将探讨使用聚氨酯密封件的优点&#xff0c;阐明其在许多不同领域广泛使用背后的原因。 1、高性能&#xff1a; 聚氨酯密封件具有出色的性能特征&#xff0c;使其成为各…...

DevEco Studio如何安装中文插件

首先 官网下载中文插件 由于DevEco是基于IntelliJ IDEA Community的&#xff0c;所有Compatibility选择“IntelliJ IDEA Community”&#xff0c;然后下载一个对应最新的就ok了。 最后打开Plugins页面&#xff0c;点击右上角齿轮 -> Install Plugin from Disk…。选择下载的…...

知网AI率80%降到15%教程,比话降AI知网算法专精+售后保障!

知网AI率80%降到15%教程&#xff0c;比话降AI知网算法专精售后保障&#xff01; 如果你是硕博毕业生、学校送知网检测、答辩前查出 AI 率 80%——这篇文章直接给你完整操作教程。从「拿到 80% 报告」到「学校送审通过」的完整路径&#xff0c;每一步该做什么、花多少时间、花多…...

掌握智能游戏存档管理:实现高效跨平台游戏进度迁移

掌握智能游戏存档管理&#xff1a;实现高效跨平台游戏进度迁移 【免费下载链接】XGP-save-extractor Python script to extract savefiles out of Xbox Game Pass for PC games 项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor 你是否曾在Xbox Game Pa…...

从零部署Claude 3.5 Sonnet私有化实例:NVIDIA A10/A100实测吞吐对比、Token缓存优化与RAG集成避坑指南(含GitHub开源脚本)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude 3.5 Sonnet新功能详解 Anthropic 正式发布的 Claude 3.5 Sonnet 在推理速度、多模态理解与工具调用能力上实现了显著跃升。相比前代&#xff0c;其上下文窗口稳定支持 200K tokens&#xff0c;…...

告别儿童遗忘悲剧:聊聊毫米波雷达如何实现车内活体检测(以TI方案为例)

告别儿童遗忘悲剧&#xff1a;毫米波雷达如何重塑车内安全防线 2021年夏天&#xff0c;美国得克萨斯州一位父亲在上班途中忘记将18个月大的女儿从汽车后座带出。当天下班时&#xff0c;室外温度已达38℃&#xff0c;等他在停车场找到孩子时&#xff0c;悲剧已经发生。类似事件在…...

用Python和Matlab可视化高斯分布融合:从理论到代码,理解卡尔曼滤波的‘信任权重’

高斯分布融合的可视化实践&#xff1a;用Python与Matlab揭秘卡尔曼滤波的信任机制 在传感器融合、机器人定位和金融预测等领域&#xff0c;我们常常需要将多个不确定信息源的数据进行整合。高斯分布&#xff08;正态分布&#xff09;作为描述不确定性的黄金标准&#xff0c;其融…...

Speechless:你的微博时光机,一键备份珍贵回忆

Speechless&#xff1a;你的微博时光机&#xff0c;一键备份珍贵回忆 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 在数字时代&#xff0c;我们的社…...

一屏融汇虚实 一擎驱动孪生:云边端协同架构赋能,打造城市园区港口通用数字孪生底座

一屏融汇虚实 一擎驱动孪生副标题&#xff1a;云边端协同架构赋能&#xff0c;打造城市园区港口通用数字孪生底座前言随着数字孪生向全域覆盖、多场景复用、高并发承载、实时性联动纵深发展&#xff0c;行业普遍面临场景割裂、架构分散、算力错配、底座不通用等痛点。城市、园区…...

保姆级教程:在Ubuntu 20.04上用PyTorch 1.12和YOLOv5s完整训练COCO数据集(附时间预估与常见坑点)

从零开始&#xff1a;Ubuntu 20.04下YOLOv5s训练COCO数据集的实战指南 引言 在计算机视觉领域&#xff0c;目标检测一直是核心研究方向之一。YOLO(You Only Look Once)系列算法因其出色的实时性和准确性&#xff0c;成为工业界和学术界的宠儿。本文将带你从零开始&#xff0c;在…...

HC32F4A0 ADC+DMA实战:8通道模拟量采集,从时钟配置到数据搬运的保姆级避坑指南

HC32F4A0 ADCDMA实战&#xff1a;8通道模拟量采集全流程精解与典型问题排查 在工业控制、智能家居和物联网设备开发中&#xff0c;多通道模拟信号采集是嵌入式系统的基础功能。HC32F4A0作为华大半导体推出的高性能MCU&#xff0c;其ADC模块配合DMA控制器可实现高效的数据采集方…...

本地化部署AI做表格工具评测:数以轻舟Agent技术架构与落地实践

一、产品定位与核心架构数以轻舟Agent是一款面向Excel数据处理场景的垂直型AI智能体&#xff0c;由北京乾策数智科技有限公司开发&#xff0c;2025年12月推出首款产品&#xff0c;2026年5月正式上线本地化部署版本。产品核心定位并非通用AI助手&#xff0c;而是聚焦"AI做表…...