关于ax+by=c的解x,y的min(|x|+|y|)值问题

最小二乘法拟合平面(Python&C++实现) 最小二乘法拟合平面(Python实现) 阅读详情
首先我们移动一下项,并强行让a>b。

  然后我们可以画出这样一个图像

  我们发现,在线段l与x轴交点处的下方,x,y的绝度值是递增的,所以我们不考虑那个最小点在下端。

  之后我们发现在点的上端,因为斜率小于-1,x的减少远没有y加的快,所以我们知道极点在l与x轴的交汇处。

  但是该点不一定是整点啊。。

  所以我们只要找到它上面和下面最近的两个整点即可。

  所以我们求ax+by=c最小的正整数解y即可,之后调出x,然后y减去a,再求x,比较两次min(|x|+|y|),就可以得出答案了。

  当然如果第一次求出来的y=0,答案就是它了。。

  

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<cmath>
 5 
 6 #define ll long long
 7 
 8 using namespace std;
 9 
10 ll gcd(ll a,ll b)
11 {
12     return b==0?a:gcd(b,a%b);
13 }
14 
15 ll x,y;
16 
17 void exgcd(ll n,ll m)
18 {
19     if(m==0){x=1,y=0;return;}
20     exgcd(m,n%m);ll t=x;
21     x=y;y=t-n/m*y;
22 }
23 
24 int main()
25 {
26     ll a,b,d;
27     scanf("%lld%lld",&a,&b);
28     ll gd=gcd(a,b);
29     a/=gd,b/=gd;
30     exgcd(a,b);
31     while(~scanf("%lld",&d))
32     {
33         if(d%gd){printf("BeiJu!\n");continue;}
34         d/=gd;
35         ll ans1=(y*d%a+a)%a,ans;
36         ans=abs(ans1)+abs((d-ans1*b)/a);
37         if(!ans1){printf("%lld\n",ans);return 0;}
38         ans1-=a;
39         ans=min(ans,abs(ans1)+abs((d-ans1*b)/a));
40         printf("%lld\n",ans);
41     }
42     return 0;
43 }
View Code

  代码略丑。。题目给出a,b,给出一堆c,求min(|x|+|y|).

从裴蜀定理到扩展欧几里得算法:解不定方程ax+by=c的C++实现 在算法与数论领域,最大公约数(GCD)是理解整数性质的核心概念。基于GCD的裴蜀定理揭示了线性不定方程 ax + by = c 存在整数解的充要条件,即c必须是gcd(a, b)的倍数。扩展欧几里得算法则提供了求解该方程特解的高效方法,其原理是在辗转相除递归过程中反向递推系数。这一算法在密码学、模运算和求解线性同余方程中具有重要技术价值,是连接数学理论与工程实践的关键桥梁。本文以信息学奥林匹克竞赛题目P1956 Sum为例,深入剖析如何将裴蜀定理和扩展欧几里得算法转化为健壮的C++代码,并探讨了处理通解、非 阅读详情

相关推荐

多Y轴绘图实战:从原理到Matplotlib避坑指南

在数据可视化中,当需要对比分析多个量纲或数值范围不同的数据序列时,单一Y轴图表往往难以清晰呈现。其核心原理在于通过创建独立的坐标轴或数据变换,使不同序列能在同一视图中保持各自的度量标准。这项技术对于揭示变量间的关联性、同步趋势具有重要价值,广泛应用于金融分析、工程监控、环境监测等场景。通过Matplotlib等工具实现时,需特别注意坐标轴对齐、颜色编码与图例合并等工程细节,以避免视觉误导。本文深入解析了双Y轴、图层归一化等方案,并提供了完整的代码示例与常见问题排查技巧,帮助读者掌握这一关键的数据呈现技能。

weixin_30706691的博客 467

2021-03-29

TOC【吴永辉】程序设计基础实践7-9I-L I. The Balance 题意:求ax+by=c中|x|+|y|的最小值。 先解决ax+by=c对于x的最小正整数解,再解决对于y的最小正整数解,按照他的排序要求,找到最小的那个即可。 #include<bits/stdc++.h> #define ll long long using namespace std; ll exgcd(ll a,ll b,ll &x,ll &y){ ll d; if(b){ d=exgcd(b,a%

weixin_55207407的博客 453

SVM 软间隔与松弛变量:Python 实现 C=0.1 到 10 的 5 种惩罚因子对比

本文深入探讨了支持向量机(SVM)中软间隔与松弛变量的应用,通过Python代码对比了C=0.1到10的5种惩罚因子对模型性能的影响。详细分析了不同C值下的决策边界变化、支持向量数量及间隔宽度,为机器学习实践中的参数选择提供了实用建议。

weixin_34189116的博客 412

对于ax+by=c,求得使x为最小得非负整数。

#include <iostream> #include <cstdlib> #include <cmath> using namespace std; typedef long long ll; typedef pair<int,int>P; const int N = 1e5+10; const int mod = 10000; const ll...

多一些不为什么的坚持 666

题解:AcWing 877 扩展欧几里得算法

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。本题答案不唯一,输出任意满足条件的。,对于每对数,求出一组。行,每行包含两个整数。本文分享的必刷题目是从。,求出一组满足条件的。#扩展欧几里得算法#

团爸讲算法 1147

Win10+Anaconda环境下PaddleOCR保姆级安装指南(附常见报错解决方案)

本文提供Win10+Anaconda环境下PaddleOCR的保姆级安装指南,涵盖从环境配置到模型部署的全流程,特别针对常见报错提供解决方案。通过详细的步骤说明和实用技巧,帮助开发者快速完成PaddleOCR安装与测试,避免常见陷阱,提升OCR开发效率。

weixin_29096377的博客 375

【总结】不定方程ax+by=c的解

已经修改好了。

cqbzlydd的博客 4844

经典密码体制(上)

头歌

shannidawang的博客 3086

扩展欧几里德求解ax + by = c 的 最小正整数解 ( x, y)

大概思路 : 第一步 : 给出方程 ax + by = c 。 第二步 : 算出 辗转相除法 gcd(a, b) 。 第三步 : 运用 扩展欧几里德 ex_gcd(a, b)-》 ax + by = gcd(a,b) 的 一组解(x, y) 。 第三步: 根据 c % gcd(a, b) 判断是否 ax + by = c 有解 。

人生若只能如初见的博客 8629

Cadence SIP Layout 简单教程-第二章

[从whp1920 网易博客迁移至优快云] 第一章在正式布线之前做了必须做的准备工作,下面进入正题,打开Candence SIP RF Layout GXL软件。 第一节 导入外形尺寸 打开SIP设置文件保存路径,如下图所示进入导入DXF页面,选中前一章时画好的外框图。打开导入界面后,再进入DXF In Edit/View Layers界面选择所有层,导入Class选择DRAWING FOR...

whp1920的博客 6939

如何正确的计算两个角度的角度差?

这一步是必要的,因为它确保了无论a相对于b是在逆时针方向还是顺时针方向,d2总是正确地反映出绕圆相反方向的角度差。这样,当函数进行最后的比较时,它能够准确地比较两个方向的旋转路径并选择最短的一个。

小秋 AI SLAM 入门实战教程 4135

POJ 2142 The Balance ★ (不定方程 ax+by=c 的|x|+|y|最小解)

题目大意:给定两个重a,b的砝码来称一个d重的东西,求出a,b所需的数量x,y要求x+y最小,当相等时ax+by最小. 题目链接:http://poj.org/problem?id=2142 显然就是解方程ax + by = d ,当x,y都>0时在一侧,异号时便异侧. 那么剩下的问题就是如何寻找|x|+|y|的最小解了. 我们来看方程的通解: x = x0 + kb ...

weixin_30932215的博客 102

C# + NAudio:构建支持实时音频处理的语音聊天应用(含回声消除)

本文介绍了如何利用C#和NAudio库开发实时语音聊天应用,重点实现回声消除功能。首先概述了NAudio库在音频处理中的作用,包括音频录制、播放和实时处理能力。然后详细讲解了构建基础语音聊天应用的过程,包括麦克风录制和扬声器播放的实现。接着深入探讨了回声消除的原理和实现方法,提出通过比较麦克风输入和扬声器输出的音频信号来消除回声,并给出了核心代码示例。最后,文章还讨论了性能优化方向,如多线程处理和网络传输扩展。该方案为开发高质量实时语音应用提供了实用参考。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1009

解A*X=X*B矩阵方程:剖析两种常见方法的陷阱与可靠求解思路

在数值计算与工程领域,线性矩阵方程是连接理论模型与实际应用的基础工具。其核心原理在于通过矩阵运算描述系统状态或变量间的线性关系,广泛应用于控制系统、计算机视觉和机器人学等领域,具有极高的技术价值。例如,在刚体运动估计中,求解旋转矩阵对齐不同坐标系,或在系统稳定性分析中,都需要处理此类方程。其中,广义西尔维斯特方程(如A*X=X*B)作为一种特殊形式,因其在坐标系变换和状态观测器设计中的关键作用,成为高频搜索和关注的热点。然而,实践中流传的两种主流解法——基于向量化与克朗内克积的直接求解法,以及朴素的**特征

weixin_30730053的博客 341

AutoSAR配置与实践(基础篇)3.2 BSW中的I/O架构和模块详解

车门位置传感器(Sensor SWC)输出的电流信号经过了一系列处理,如先被转化为电压信号,后又经ADC转换为数字信号,但是IoHwAb模块对上层隐藏了这一系列处理过程,并将数据直接抽象为它的输出接口,即车门开关状态接口。Sensor SWC 使用RTE接口直接从IoHwAb模块封装的车门开关状态,SWC它并不关心ECU硬件是如何实现的传感器电流采集,也不关心MCU ADC采样精度(如10/12位)IoHwAb把采集的电压抽象为开关状态,使得Sensor SWC不依赖具体的ECU硬件。

nihaoljq2010的博客 1300

灰质-白质组织对比(Gray-white matter tissue contrast,GWC)计算以及可视化

GWC是深层灰质与浅表白质(superficial white matter,SWM)之间T1加权信号强度的比值,已知髓鞘中的胆固醇是T1加权信号强度的主要影响因素,因此GWC大致反映了大脑皮层和浅表白质之间的髓鞘化差异。GWC代表灰白质交界处的模糊程度,较低的GWC表明灰质和白质交界处更相似和更模糊;较高的GWC表明灰白质分界更加清楚。据之前的研究报道,局灶性皮质发育不良、颞叶癫痫、帕金森病、强迫症、精神分裂症和自闭症谱系障碍中存在灰白质交界区GWC异常增高或降低。 灰质信号强度和白质信号强度采集的示意图

xxx 732

POJ 2142 The Balance

分析转自oo 题意吧:一个家伙有一种天平,这种天平只有两种重量的砝码a和b,现在要称出重量为c的物品,问你至少需要多少a和b,答案需要满足a的数量加上b的数量和最小,并且他们的重量和也要最小。(两个盘都可以放砝码) 分析: 这题我刚刚开始还以为是动规或者搜索,也算是碰了一鼻子的灰吧。 假设a砝码我们用了x个,b砝码我们用了y个。那么天平平衡时,就应该满足ax+by==c。x,y为正

iCpC之旅 696

YOLOv8改进:在C2F模块中引入RepGhost Bottleneck模块

C2F类是YOLOv8中的C2F模块的实现,它包含一个RepGhostBottleneck模块、一个卷积层和一个批归一化层。通过在C2F模块中引入RepGhost Bottleneck模块,我们可以在保持计算效率的同时提升模型的表达能力。这是因为RepGhost Bottleneck模块通过引入重复的卷积核来扩展模型的感受野,从而增加了模型对不同尺度目标的感知能力。RepGhost Bottleneck是一种用于卷积神经网络的改进模块,它可以在保持计算效率的同时提升模型的表达能力。希望以上内容对你有帮助!

IlgCrystal的博客 1306

HDU 1356 The Balance && POJ2142

重新复习了一遍扩展欧几里德(一开始学的都忘了,丧 http://acm.hdu.edu.cn/showproblem.php?pid=1356 这道题一眼就可以看出来是扩展欧几里德,但是将答案解出来了之后,还要找到符合他条件的答案,这样算出来的答案已经是符合条件1了,条件2是(x+y)最小,条件3是(ax+by)最小 算出来的x,y有正有负,正即放在天平左边,负即和物品放在天平右边   ...

一只不争气的蒸汽机的博客 325

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

HDU_1495(数论)

HDU 1495 数论: 思路1: 首先总可乐升数是奇数肯定不能被平分 设x =b杯子倒进来次数-倒出去的次数,y同理, __为什么是-不是+,因为倒出去后杯子可乐减少,统计的是最后杯子剩余的可乐,所以做的是代数上的加减 既然要平分,那么经过移动后想要满足b∗x+c∗y=a/2b*x+c*y=a/2b∗x+c∗y=a/2,已知扩展欧几里得b∗x+c∗y=gcd(b,c)b*x+c*y=gcd(b...

_llc的博客 977

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SGU_106 The equation 同余方程

http://acm.sgu.ru/problem.php?contest=0&problem=106 题意: 给你一个 ax+by+c = 0的方程, 然后分别给你x、y的区间[x1 , x2] , [y1 , y2] 问你x、y都在给 定区间内的解一共有多少组。 思路: 利用扩张欧几里得算法求出:ax + by = gcd(a ,b) = d 的一组解(x0 ,y0),则原方程有解的

Chris_Home 530

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LeetCode刷题必备:用扩展欧几里得秒解‘同余方程’类题目(以力扣经典题为例)

本文详细介绍了如何利用扩展欧几里得算法高效解决LeetCode中的同余方程类题目,包括算法原理、代码模板及实战技巧。通过经典例题解析,帮助读者掌握数论问题的解题思路,提升算法竞赛和面试中的表现。

weixin_33695450的博客 373

BZOJ5027: 数学题 数论

Descripition 给出a,b,c,x1,x2,y1,y2,求满足ax+by+c=0,且x∈[x1,x2],y∈[y1,y2]的整数解有多少对? Sample Input 1 1 -3 0 4 0 4 Sample Output 4 求一下第一个范围的x的范围, 再求一下第二个范围的x的范围。 求交集即可。 有特判,如:a=0,b=0 #include...

xgc_woker的博客 331

小球碰撞

目录 题目描述 辗转相除法 扩展欧几里得算法 通解的求法 解法过程(一) 二次函数 解法过程(二) floor与int 代码 题目描述 给出A B C 三个数,现在有X Y 两个数,使得 AX + BY = C 求出 MIN(0.5 * X * X * A + 0.5 * Y * Y * B); 辗转相除法 首先我们要知道,如何求出X Y; 我们基本的还是要求出一组...

成默的千年灵芝的博客 418

线性方程组解的判定:系数矩阵秩与解个数的核心关系

线性方程组是描述变量间线性关系的基础数学模型,广泛应用于数据拟合、电路分析和经济建模等领域。其核心求解原理在于分析系数矩阵与增广矩阵的秩,这直接决定了方程组解的存在性与唯一性。从技术价值看,理解秩与解的关系是掌握线性系统底层逻辑的关键,它不仅为理论分析提供框架,更是工程实践中数值计算(如最小二乘法求解)和算法设计(如运动学解算中自由度分析)的基石。在机器人运动学解算、传感器数据融合(如姿态解算)等应用场景中,判断系数矩阵是否满秩直接关系到系统能否稳定、精确求解。本文聚焦于系数矩阵的秩如何作为一把标尺,清晰界

weixin_34198881的博客 458
上一篇: 【概率】COGS 1487:麻球繁衍
下一篇: 网络流24题 (一)
puck_just_me
博客等级 码龄12年 7粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值