线性丢番图方程

线性丢番图方程定理

\(a,b\) 是整数且 \(gcd(a,b) = d\). 如果 \(d\) 不能整除 \(c\) , 那么方程 \(ax+by=c\) 没有整数解, 如果\(d\) 可以整除 \(c\), 则存在无穷个解. 另外, 如果 \((x_0,y_0)\) 是方程的一个特解, 那么所有解都可以表示为 :

\[x = x_0 + (\frac{b}{d})n, y = y_0 - (\frac{a}{d})n \]

即: \(ax+by=c\) 有解的充分必要条件是 \(d = gcd(a,b)|c\)
可借助如下图进行理解

扩展欧几里得算法与线性丢番图的解

求解 \(ax+by=c\) 的主要是找到一个特解, 那么 \(exgcd\) 的作用就是找到一个特解
其扩展欧几里得算法如下:

int exgcd(int a, int b, int &x, int &y){    if(b == 0){        x = 1, y = 0;        return a;    }    int d = exgcd(b, a % b, y, x);       y -= a / b * x;    return d;};

有时为了简化描述, 把 \(ax + by = gcd(a,b)\) 两边除以 \(gcd(a,b)\), 得到 \(cx + dy = 1\), 其中 \(c = \frac{a}{gcd(a,b)}\), \(d = \frac{b}{gcd(a,b)}\). \(c\)\(d\) 是互素的, 则 \(cx + dy = 1\) 的通解为 \(x = x_0 + dn\), \(y = y_0 -cn\)
具体步骤如下:

例题: P1516 青蛙的约会 - 洛谷

#include <bits/stdc++.h>#define int long longusing namespace std;const int N = 1e6 + 10, mod = 1e9 + 7;int exgcd(int a, int b, int &x, int &y){    if(b == 0){        x = 1, y = 0;        return a;    }    int d = exgcd(b, a % b, y, x);       y -= a / b * x;    return d;};signed main(){    std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);    int n, m, x, y, L; cin >> x >> y >> m >> n >> L;    int a = n - m, b = L, c = x - y;    if(a < 0) a = -a, c = -c;    int d = exgcd(a, b, x, y);    if(c % d != 0) cout << "Impossible" << '\n';    else cout << ((x * (c / d)) % (L / d) + (L / d)) % (L / d) << '\n';    return 0;}
```![](https://img2024.cnblogs.com/blog/3205031/202408/3205031-20240806202623129-592127437.png)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/778924.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DFJX[2024] 游记

暑假第二次集训的记录……备战CSP-S ing…… 谨以此记,记录我们共同热爱的OI!洛谷食用 博客食用 这七天没什么事的话都会更新的(8.4-8.11) Day 0 集训, 因为在自己学校,总有种开学的感觉 也是提前住上九年级的新宿舍楼了,喜提一床+班长 下午到学校,食堂没给我们准备饭…

七层网络协议

应用层  应用层的作用是为应用程序提供服务并规定应用程序中通讯相关的细节,也就是为应用提供服务。常见的协议有 HTTP,FTP,TELNET、SMTP 等。 是用户与应用程序之间的接口。 相当于收件员。当客户(应用)打电话(发起请求)给收件员(应用层)时,收件员可以根据客户的不…

Qt/C++最新地图组件发布/历时半年重构/同时支持各种地图内核/包括百度高德腾讯天地图

一、前言说明 最近花了半年时间,专门重构了整个地图组件,之前写的比较粗糙,有点为了完成功能而做的,没有考虑太多拓展性和易用性。这套地图自检这几年大量的实际项目和用户使用下来,反馈了不少很好的建议和意见,经过这几年的整理,刚好趁着近期经济下行严重,抽出时间把整…

[WACV2022]Addressing out-of-distribution label noise in webly-labelled data

该论文考虑了一个现实的场景:数据集来自网络爬虫,即存在开集噪声OOD样本和闭集噪声ID样本。作者提出了一个简单但有效的策略:通过新设计的指标区分OOD样本,并对OOD样本软化(soften)弥补与干净样本的差距,该方法称为:Dynamic Softening of Out-of-distribution Samples …

异常处理

异常概述 程序中的异常: 在Java语言中,异常是指程序在运行期间发生的事件,它是导致程序中断运行的正常指令流。 例如,在算术运算中除数为0、数组越界、空指针异常等,这些事件的发生都会阻止程序的正常运行。 *示例:**演示除法运算*** public class MathCalc {public stat…

Matlab第一章

Matlab第一章 1.命令行窗口里写的命令,当文件关闭时命令行窗口和工作区内容消失。 2.想要保存代码,方法是: 新建脚本->写代码->保存->运行 3.脚本语言 (1)clear;清空工作区 clc;清空命令行窗口 x=20; y=30; x+y(2)clear; clc; x=20; y=30; x+y;如果x+y有分号则…

【题解】暑假集训CSP提高模拟14

目录Rank&挂分A. BA题目内容部分分10pts10+20pts正解思路代码B. BB题目内容部分分5pts正解思路代码C. BCD. BD Rank&挂分T4暴搜后来改了记搜,不知道哪里锅了,挂5pts。 A. BA 题目内容 现在有 \(m\) 块烙板,\(n\) 张饼,第 \(i\) 张饼需要烙 \(a_i\) 个单位时间,一张…

232Modbus转Profinet网关模块接液相柱塞泵与PLC通讯

本文介绍了232Modbus转Profinet网关(XD-PNR200)模块的使用步骤,包括硬件连接、软件配置和测试验证等环节,配置PLC与232Modbus转Profinet网关(XD-PNR200)IP,选功能码读写数据,分配设备名称并下载组态。测试通信后,可成功通讯。232Modbus转Profinet网关模块接液相柱塞泵…

挂载Ceph文件系统以及Ceph存储三副本特性展示

创建文件系统ceph fs volume create cephfs 挂载 CephFS 的常规先决条件 为客户端主机生成最小的 conf 文件并将其放在标准位置:mkdir -p -m 755 /etc/ceph ssh {user}@{mon-host} "sudo ceph config generate-minimal-conf" | sudo tee /etc/ceph/ceph.conf确保co…

nginx配置正向代理

1、下载源码包 # 地址http://nginx.org/download/2、下载ngx_http_proxy_connect_module补丁包 # 下载地址https://github.com/chobits/ngx_http_proxy_connect_module/archive/master.zip3、使用patch对源码包进行打补丁 # 先解压补丁包,得到的包名是ngx_http_proxy_connect_…

CSP14

暴力最高\(50\)吧,本地测试不太准跑得快的只得了\(10\)分,慢的却得了\(50\)分暴力 #include <bits/stdc++.h> #define pb push_back #define ll long long #define bs bitset<70> #define speed() ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); using na…

Goby漏洞发布 | CVE-2024-38856 Apache OFbiz /ProgramExport 命令执行漏洞【已复现】

漏洞名称:Apache OFbiz /ProgramExport 命令执行漏洞(CVE-2024-38856) English Name:Apache OFbiz /ProgramExport Command Execution Vulnerability(CVE-2024-38856) CVSS core: 9.0 漏洞描述: Apache OFBiz是一个电子商务平台,用于构建大中型企业级、跨平台、跨数据库、…