Codeforces Beta Round 7 C. Line 题解 数论 扩展欧几里得

从0到1:.NET 9 OpenAPI全攻略!Swagger vs Scalar UI谁更强? OpenAPI:.NET 9的智能文档革命 本文深入解析.NET 9的OpenAPI支持,对比Swagger UI与Scalar UI的优劣,提供实战代码示例: 一键生成:AddOpenApi()+MapOpenApi()快速生成标准文档 UI工具对决: Swagger UI功能全面但复杂 Scalar UI简约现代,原生支持cURL/HTTPie 进阶技巧: XML注释增强文档可读性 自定义Transformer实现文档动态修改 🔥核心价值:.NET 9的OpenAPI方案显著降低API文档维护成本,开 阅读详情

Line

题目描述

A line on the plane is described by an equation A x + B y + C = 0 Ax+By+C=0 Ax+By+C=0 . You are to find any point on this line, whose coordinates are integer numbers from − 5 ⋅ 1 0 18 -5·10^{18} −5⋅1018 to 5 ⋅ 1 0 18 5·10^{18} 5⋅1018 inclusive, or to find out that such points do not exist.

输入格式

The first line contains three integers A A A , B B B and C C C ( − 2 ⋅ 1 0 9 < = A , B , C < = 2 ⋅ 1 0 9 -2·10^{9}<=A,B,C<=2·10^{9} −2⋅109<=A,B,C<=2⋅109 ) — corresponding coefficients of the line equation. It is guaranteed that A 2 + B 2 > 0 A^{2}+B^{2}>0 A2+B2>0 .

输出格式

If the required point exists, output its coordinates, otherwise output -1.

题面翻译

一条直线:Ax+By+C=0(A,B不同时为0),找到任意一个点(在-5e18~5e18之间),让它的横纵坐标均为整数,或者确定没有这样的点。

样例 #1

样例输入 #1

2 5 3

样例输出 #1

6 -3

原题

Codeforces——传送门
洛谷——传送门

思路

将求 A x + B y + C = 0 Ax+By+C=0 Ax+By+C=0 直线上的整数点转化为求 A x + B y = − C Ax+By=-C Ax+By=−C 的一个整数解。然后利用扩展欧几里得算法求其中一个解即可。

代码

#include <bits/stdc++.h>
using namespace std;
using i64 = long long;

i64 a, b, c, x, y;
// exgcd求出ax+by=gcd(a,b)的解
i64 exgcd(i64 a, i64 b, i64 &x, i64 &y)
{
    if (b == 0)
    {
        x = 1, y = 0;
        return a;
    }
    i64 d = exgcd(b, a % b, y, x);
    y -= (a / b * x);
    return d;
}
// 求解不定方程ax+by=c
int func()
{
    i64 d = exgcd(a, b, x, y);
    // 不符合裴蜀定理,无整数解,返回-1
    if (c % d)
        return -1;
    else
    {
        // 有整数解,返回1
        x = x * c / d;
        y = y * c / d;
        return 1;
    }
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin >> a >> b >> c;
    c = -c; // c平移后变为-c即ax+by+c=0到ax+by=-c的转化
    if (func() == -1)
        cout << -1;
    else
        cout << x << ' ' << y;

    return 0;
}
Openclaw第3章:进阶部署 本章面向需要在特定环境中稳定运行 OpenClaw 的用户,介绍 Windows、Linux、Docker 以及 Cloudflare Workers 四种进阶部署方式。每种方式各有侧重:Windows 部署适合桌面用户日常使用,Linux 部署适合开发者,Docker 部署适合追求环境隔离的运维场景,Cloudflare Workers 部署则适合希望获得全球边缘网络加速的用户。读者可根据自身环境和需求选择合适的方案,完成本章后可继续阅读第4章了解维护升级流程。 阅读详情

相关推荐

二、频率调制光谱(FMS)技术——error信号的数学模型及其他推论

一些推论。

qq_41111336的博客 1605

Codeforces7 C.Line(exgcd)

题意: 给定A,B,C,表示有一条方程为Ax+By+C=0的直线。 问是否存在一个点(x,y),满足x和y都是整数,且在直线上。 如果无解输出-1,否则输出一组解。 数据范围:-2e9<=A,B,C<=2e9

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 266

反激变压器反射电压详解

我以前做过隔离式的POE模块,其电路实际就是个反激式开关电源。只不过其输入电压范围比较低,为44V-57V。 电路如下图,就是个flyback。 可以看到,电路中有个钳位电路,用来抑制电压尖峰,就在初级线圈那里。 问题 抑制尖峰通常有2种电路,一种叫RCD钳位,另外一种是用TVS管+二极管钳位。 这两种实际中都有用,今天我不想讨论它们的区别,只想说明一个问题: 为什么不能只用一个二极管搞定?像继电器电路那样?不也能抑制尖峰吗? 答案自然是不行的...

weixin_42005993的博客 2万+

codeforces724c Ray Tracing(扩展欧几里得)

题意:从(0,0)沿(1,1)射出来一个东西,在封闭的(n,m)(n,m 题解:第一感觉,肯定是把该平面展开,然后在所有展开的平面中对应的点,满足最小的dx == dy的就是解            对于横坐标,所有展开后的点的横坐标有可能是a,2*n-a,2*n+a。。。公式2*x*n ± a            纵坐标类似2*y*m ± b            要撞到,满足2*x*

matrix5267的博客 471

银行会计第2课:交易和核算分离的思想

核算作为会计的基础,将交易转化为可量化的信息,而会计则通过整合核算结果,实现对经济活动的全面把控。- 本质:指企业或主体之间发生的、能引起经济利益变动的具体事项,比如采购商品、销售货物、支付工资等,是客观发生的经济事实。可售产品(业务视角的核算对象) + 属性条件(核算的分类,限制等) = 核算类型(会计视角,含有科目分类内容)- 核算:会计人员根据采购发票、入库单等,将这笔交易记为“借:原材料,贷:银行存款”(对事实的会计处理)。- 特点:是核算的源头,不涉及会计处理,仅代表经济行为的发生。

ademen的博客 498

libnice和coturn这两个库有交叉实现的地方,具体有啥区别?

TurnAdmin:是一个TURN的管理工具,此工具能被用来管理用户账号的增删改查。 TurnServer:是TURN和STUN的服务器实现。 Turnutils_uclient: 模拟多个UDP、TCP、TLS或DTLS客户端 Turnutils_peer: 一个简单的无状态UDP-ECHO服务器,用作中继模式中的最终服务器 Turnutils_stunclient: 一个简单的STUN客户端例子 Turnutils_rfc5769check: 检查STUN/TURN协议实现的正确性。 我们..

Langeldep的专栏 1318

Codeforces 1244 C. The Football Season —— 扩展欧几里得

This way 题意: 让你求dx+wy+0z=p,[0<=x,y,z&&x+y+z=n] 题解: 首先很明显可以暴力,因为d和w都是<=1e5的,所以枚举1e5次必然能出答案。 但是我们在学习新知识,所以必然不能这样子去简单地暴力,要搞一点数学的东西进去。 那么很明显是扩展欧几里得,但是裸的板子会有负数的情况,所以我们需要先贪心地放赢得局,因为这样子前两种局数会达到最小,然后剩下的再贪心地放平局,此时会有放不完的情况,那么这个剩余值我们就拿来做扩欧即可。 此时还是会有负数的

天翼之城的博客 234

从Gcode命令看3D打印机的‘大脑’:Marlin/Klipper固件是如何执行你的指令的?

本文深入解析3D打印机固件Marlin和Klipper如何执行Gcode指令,从语法解析到运动控制算法,再到温度管理,详细揭示了从指令到物理动作的转化过程。通过对比两大固件的设计哲学和性能优化技巧,帮助用户更好地理解和调优3D打印机的核心控制系统。

weixin_26763955的博客 382

Codeforces 982E - 扩展欧几里得

解题思路:考虑当质点移动轨迹的直线斜率为1的时候,有轨迹方程 y = x + c,显然把原先起点x1,y1代入就可以求出c的值.将质点的反弹等价于直线轨迹(由对称性质可得)。由x - y = -c得,要使得质点可以从顶角出去就等价于质点的直线轨迹会经过一点(a*n,b*m),代入方程得a*n - b*m = -c,要使方程有解gcd(n,m) | c, c = k*gcd(n,m),根据扩展欧几里...

过路人丶的博客 908

基于Quartus II软件的FPGA综合实验——多功能数字钟

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、设计要求二、设计原理三、设计过程1.数码管扫描模块2.计时模块3.闹钟模块4.闹钟响铃模块5.数码管显示模块6.整点报时功能7.模式选择模块(计时器主控电路)四、实验中遇到的困难及解决方案五、总结 前言 FPGA综合实验——多功能数字钟 基于Quartus II软件 一、设计要求 设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进.

qq_53022342的博客 2万+

【异常】Hermes Agent调用z.ai接口失败(余额不足)API call failed (attempt 1/3): RateLimitError [HTTP 429]

补充说明:同步尝试解析接口对应网页时,出现“网页解析失败,可能是不支持的网页类型,请检查网页或稍后重试”提示,该提示不影响核心报错排查,仅作为辅助信息。

奶爸的编程之路,也就一周冷个三天 1194

Codeforces Gym 101158 F. Three Kingdoms of Bourdelot

题意有多个文档。 每个文档都有多行家谱信息。 有两种类型的文档: 正和负, 每行是一对 x, y, 如果文档为正: x 是 y 的祖先 如果文档为负: x 不是 y 的祖先 每个文档都可以有正面或负面的理解。 如果文档数量 n 和两个人 p, q 是给定的, 确定是否有一种组合(确定每篇文档的正负),使得满足 p 是 q 的祖先。解题思路数据结构。 存储 x, y 属于哪几篇文档, 存储每篇文档包含

DorMOUSENone的博客 1119

1.2 博图TIA的轨迹(Trace)功能介绍

在TIA中“轨迹” ( Traces ) 能来记录设备变量并对记录进行评估,对有些故障排查很有帮助,本文进行介绍

qq_34047402的博客 1646

Codeforces Beta Round #7 C. Line

Codeforces Beta Round #7 C. Line 题目链接 A line on the plane is described by an equation Ax + By + C = 0. You are to find any point on this line, whose coordinates are integer numbers from  - 5·1018 to 5·1018 inclusive, or to find out that such points do not

旺崽的博客 2609

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Codeforces Beta Round #7 C. Line Exgcd

C. Line 题目连接: http://www.codeforces.com/contest/7/problem/C Description A line on the plane is described by an equation Ax + By + C = 0. You are to find any point on this line, whose coordinates are i...

weixin_34205826的博客 127

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Codeforces Beta Round #7 C. Line (扩展欧几里德)

题目链接:http://codeforces.com/problemset/problem/7/C 给你一个直线方程,有整数解输出答案,否则输出-1。 扩欧模版题。这里有讲解:http://www.cnblogs.com/Recoder/p/5459812.html (很久没写exgcd,都不会写了) 1 #include <bits/stdc++.h> 2 usin...

weixin_30599769的博客 103

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Codeforces Beta Round #9

文章目录A - Die RollInputOutputExamplesInputOutputNoteC - Hexadecimal's NumbersInputOutputExamplesInputOutputNote A - Die Roll Yakko, Wakko and Dot, world-famous animaniacs, decided to rest from acting in...

默的博客 228

codeforces beta round 1

codeforces beta round 1 A Theatre Square in the capital city of Berland has a rectangular shape with the size n × m meters. On the occasion of the city’s anniversary, a decision was taken to pave the Square with square granite flagstones. Each flagstone i

qq_51480701的博客 254

Codeforces Beta Round #1 A,B,C

A. Theatre Square time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard output Theatre Square in the capital city of Berland ha

airfish20000的博客 266

Codeforces Beta Round #7 C. Line 扩展欧几里德

C. Line time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output A line on the plane is described by an equationAx + By + C ...

weixin_30788731的博客 87

Codeforces Beta Round #92 (Div. 2) / 124A The number of positions 【简单模拟】【水题】

A. The number of positions http://codeforces.com/problemset/problem/124/A time limit per test  0.5 second memory limit per test  256 megabytes input  standard input output  

mengxiang000000 771

Wannafly summer camp Day2  ——Utawarerumono(数论扩展欧几里得)

9511: Utawarerumono 时间限制: 1 Sec  内存限制: 128 MB 提交: 389  解决: 66 [提交] [状态] [讨论版] [命题人:admin] 题目描述 算术是为数不多的会让久远感到棘手的事情。通常她会找哈克帮忙,但是哈克已经被她派去买东西了。于是她向你寻求帮助。 给出一个关于变量x,y的不定方程ax+by=c,显然这个方程可能有多个整数解。久远想知道...

Harukaze 400

[Codeforces 1244C] The Football Season(扩展欧几里得)

Codeforces 1244C 题意:给你n,p,w,d (w>d) 要你求一组x,y,z满足上述俩个式子。 题解:因为w>d,所以优先分配给x,x=p/w; 然后在分配给y,最后剩下的看它能不能整除gcd(w,d); 如果能,用扩展欧几里德求解;然后加上去,最后 如果不满足条件可以 对a和b的大小进行调整, 可以加上a*(m%d/gcd)个w和减去b*(m%d/gcd)个d 或者...

accepted_accepted的博客 457

codeforces 338D - GCD Table 扩展中国剩余定理

题意:给一个n*m的表G,和一个含k个整数的M序列。 (1 ≤ n, m ≤ 1012; 1 ≤ k ≤ 10000). 表中每个元素值为G[i][j]=GCD(i,j).判断表G中是否存在一行从某列开始的元素和所给的序列重合 首先如果存在,那么一定出现在I=lcm(M1,M2,…,Mk) ,cf上的证明没怎么看懂。如果I>n 可以直接判NO了。 对j: j=0 mod m1 j+1=0

chen_minghui的博客 493

codeforces724C. Ray Tracing(扩展欧几里得详解)

传送门:C. Ray Tracing。 题意:一个矩形内有k个点,t=0从原点45度射出一束光线,遇到矩形的边就折射(入射角等于出射角),遇到顶点就停止,每秒前进根二单位长度,问矩形内的点第一次遇到光线是第几秒。 解法:首先把矩形展开成一个无边界平面,这时我们可以发现当x==y==n*m/gcd(n,m)时光线停止,设原坐标为a,b,则当展开后横坐标为a,2*n±a……2*x*n±a。同理纵坐

WA是一笔财富 805

扩展欧几里得求多组解CodeForces - 1244C

扩展欧几里得求多组解 扩展欧几里得可以求得满足ax+by = c的一组解(这里c%gcd(a,b)要等于0);假如求得的解为(x0 , y0),G = gcd(a , b),这时我们可以发现(x0 + k(b / G) , y0 - k(a / G))就是方程的通解,我们可以通过二分、取模求最小解等等 CodeForces - 1244C 题意:给出两个方程 ​ x + y + z = n ​ x * w + y * d = p 求解任一满足条件的x,y。 思路:我们可以看出z与方程无关,只用

zzulizyl的博客 248
上一篇: Codeforces Beta Round 32 (Div. 2, Codeforces format) D. Constellation 题解 枚举
下一篇: Codeforces Testing Round 1 B. Right Triangles 题解 组合数学
bbc_ouo
博客等级 码龄3年 2096粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值