LCM Walk (HDU - 5584,简单数论)

【AWS】创建aws云服务器EC2实例 本文介绍了如何创建aws的EC2云服务器,并介绍了如何使用Xshell远程连接上云服务器 阅读详情

一.题目链接

HDU-5584

二.题目大意:

frog 从 (sx, sy) 出发.

每次可以从 (x, y) 走到 (x + lcm(x, y), y) 或 (x, y + lcm(x, y)).

现给出终点 (ex, ey),求可能起点的个数.

三.分析:

结论:

路径唯一

证明:

\because lcm(x, y) \geq max(x, y)

\therefore x + lcm(x, y) \geq y \; || \; y + lcm(x, y) \geq x

因此:如果 x > y,则  (x, y) == (x' + lcm(x', y'), y') ; x < y 时同理.

所以当前的点唯一确定上一步的点.

所以路径唯一.

由上述证明可知上一个点唯一,现逆推上一个点的坐标.

假设当前点为 (x, y),设 k == gcd(x, y)

则 x == nk, y == mk, 其中,gcd(n, m) == 1.

则 lcm(x, y) == xy / gcd == nk * mk / k == nmk.

若下一步增加 x,则坐标变为 (x + lcm(x, y), y)

即 (nk + nmk, mk) == ((m + 1)nk, mk),其中,gcd((m + 1)n, m) == 1.

所以,gcd(x + lcm(x, y), y) == gcd(x, y) == k.

所以

若 x > y,设 x == (m + 1)nk, y == mk

则,上一个点的坐标为

(nk, mk)

== (x / (m + 1), y)

== (x / (y / k + 1), y)

现讨论结束条件

若存在前一个点 (nk, mk),则当前点为 ((m + 1)nk, mk) == ((mk + k)n, mk) == ((y + k)n, mk)

所以当前 x 应为 y + k 的整数倍.

四.代码实现:

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

int gcd(int a, int b)
{
    return b ? gcd(b, a % b) : a;
}

int main()
{
    int T;
    scanf("%d", &T);
    for(int ca = 1; ca <= T; ++ca)
    {
        int x, y, p;
        scanf("%d %d", &x, &y);
        if(x < y)   swap(x, y);
        int cnt = 1, k = gcd(x, y);
        while(x % (y + k) == 0)
        {
            cnt++;
            x = x / (y / k + 1);
            if(x < y)   swap(x, y);
        }
        printf("Case #%d: %d\n", ca, cnt);
    }
    return 0;
}

 

Yolov8-pose关键点检测:通用倒瓶颈(UIB)搜索块结合C2f二次创新 | 轻量化之王MobileNetV4 通用倒瓶颈(UIB)搜索块结合C2f二次创新 阅读详情

相关推荐

5G协议栈逆向工程:基于开源模拟器的核心网信令分析实战

本文详细介绍了基于开源模拟器Free5GC和UERANSIM的5G协议栈逆向工程实战,涵盖核心网信令分析、环境搭建、认证协议解析及安全漏洞验证。通过NGAP/NAS信令交互解密和异常流量注入测试,帮助研究人员深入理解5G网络安全机制,并提供实用的安全加固建议。

weixin_29250573的博客 676

HDU 5584 LCM Walk ---数学公式

LCM Walk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description A frog has just learned some numb...

pxlsdz的博客 455

【AI Agent 实战】OpenClaw 全面解析 + 全平台一键部署教程(本地 AI 智能体)

本文收录于 AI 智能体 & 自动化实战系列,手把手带你从零部署本地可控的 AI 执行助手关键词:OpenClaw、AI Agent、本地 AI 部署、自动化助手、Docker 部署

爱人爱己,风生水起 7877

LCM Walk【2015上海现场赛】【推理】

题意:有已知的[ex, ey],求可以由[sx+lcm(sx, sy), sy]或者[sx, sy+lcm(sx, sy)]得到,求这样的[sx, sy]的数目,当然,[ex, ey]也算是一组。 一道推理题,显而易见,知[ex, ey]那我们得把关系联系起来,[sx+sx*sy/gcd, sy]=[ex, ey],则有sy=ey,又可知道gcd(sx, sy)==gcd(ex, ey)必定成立...

既然弱小,就只顾变强就是了 294

手把手教你用XC7A35T FPGA搭建低成本机器视觉系统(含开发板选型指南)

本文详细介绍了如何利用AMD(原Xilinx)Artix-7系列中的XC7A35T FPGA芯片,搭建一套低成本的机器视觉系统。内容涵盖从芯片选型深度剖析、开发板(如黑金AX7035B)对比指南,到使用Vivado创建工程、编写图像处理模块(如RGB转灰度),以及资源优化和与上位机(如OpenCV)协同工作的完整流程,旨在为开发者提供一套可实践的高性价比硬件加速视觉解决方案。

beta5的博客 353

Xshell 连接 VMware虚拟机操作 截图和使用

vmwareVMware总部位于美国加州帕洛阿尔托(Palo Alto),是全球云基础架构和移动商务解决方案厂商,提供基于VMware的解决方案,企业通过数据中心改造和公有云整合业务,借助企业安全转型维系客户信任,实现任意云端和设备上运行、管理、连接及保护任意应用Xshell(安全终端模拟软件)Xshell [1]是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

小 tom的博客 802

hdu 5584 最小公倍数

hdu 5584 最小公倍数 2015年ACM区域赛(上海)的现场赛题。 难度等级:简单题,数学。 FB(First Blood)时间:18分钟。 铜牌队伍在98分钟左右AC。 排行榜的L题: https://luoyongjun999.github.io/rank.html 能力考核:最小公倍数和最大公约数问题、逻辑推理。 题意: 一只青蛙坐在一个网格图上,行和列都是无限的。行的计数从底部开始1, 2, ⋯,列也是这样。青蛙最初的位置是坐标(sx, sy),旅程开始了。 它使用了一种特别的跳跃方法。如果

TA很酷的博客 901

Android 桌面小组件 AppWidgetProvider

桌面小组件,绝对是小程序中的小程序,说白了就是任何复杂一丁点的操作都适合做成桌面小组件。所以这里采用的演示的例子,就只有一个白色圆角背景,外加一个文本框,显示文字。小组件的教程网上一搜一大堆,所以我这里主要就是介绍一些坑的地方,跟大致处理流程,具体细节还得看其他大神的骚操作。

qq_33601179的博客 6584

hdu 5584 LCM Walk <二叉树找规律,二进制相关>

click~ 题意:有一只青蛙,它从起点(x,y)出发,每次它会走LCM(x,y)步[LCM(x,y)就是x,y的最小公倍数]到达点(x+LCM(x,y),y)或点(x,y+LCM(x,y)),最终,它会到达点(ex,ey),现给你终点(ex,ey),要你求出它的起点有多少种可能 解题思路:我们暂时假设x,y的最大公约数gcd(x,y)=k,那么我们不妨用来表示x,用来表示y,那么

论菜鸟的自我修养。。。 383

【车辆动力学】专栏目录汇总

车辆动力学知识目录汇总

CrazyRabbit的博客 1713

机器人控制基础:伺服驱动器的泄放电阻

摘要:伺服驱动器泄放电阻用于消耗电机减速或制动时产生的再生电能,防止母线电压过高损坏元件。其核心作用是将多余电能转化为热能,规避硬件损坏和停机风险。选型需关注功率、阻值和封装三大参数,功率应匹配再生能量,阻值需符合驱动器要求,封装应满足散热需求。可通过动态监测母线电压或静态检测电阻阻值来判断其是否正常工作。

start_up_go的博客 381

HDU 5584 LCM Walk(逆推)——2015ACM/ICPC亚洲区上海站

HDU 5584 LCM Walk(逆推)——2015ACM/ICPC亚洲区上海站

queuelovestack的专栏 3412

42、InfiniBand技术详解:QP状态机、操作及错误处理

本文深入解析InfiniBand技术中的核心组件QP(Queue Pair)状态机、工作请求处理机制、支持的操作类型及错误处理策略。详细介绍了QP的创建与状态转换流程,包括INIT、RTR、RTS等关键状态,并提供了状态修改的代码示例。文章还探讨了工作请求的发布、资源使用限制、围栏机制以及重试和RNR流程,帮助开发者理解通信可靠性保障机制。此外,涵盖了多播组的应用场景与API使用方法,并对比了用户空间与内核级RDMA API的调用差异,最后给出了实践建议和常见问题解答,为构建高性能分布式系统提供技术指导。

oauth7security的博客 131

HDU-5584-LCM Walk

HDU-5584-LCM Walk 传送门 果然如老师说的,lcm和gcd虽然很容易理解,但是跟其他的知识点结合起来就有难度了。 尽管这道题还是lcm和gcd的一个运用。 题目大意:一只青蛙从某个点(x, y)开始跳,每次跳的距离是k = lcm(x, y); 要么到达(x + k, y),要么到达(x, y + k); 此时给出青蛙跳的最终位置(ex, ey); 问有多少种起始位置的可能跳到终点...

qq_44624316的博客 256

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

L - LCM Walk HDU - 5584 (数论)

题目链接: L - LCM Walk HDU - 5584 题目大意:首先是T组测试样例,然后给你x和y,这个指的是终点。然后问你有多少个起点能走到这个x和y。每一次走的规则是(m1,m2)到(m1+lcm(m1,m2),m2)或者(m1,m2+lcm(m1,m2))。 具体思路: lcm(m1,m2)=m1*m2/(gcd(m1,m2)).然后m1就能表示成t1*gcd(...

diaomeijiao3430的博客 340

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

hdu 5584 LCM Walk(规律)

题目链接:hdu 5584 LCM Walk代码#include <cstdio> #include <cstring> #include <algorithm>using namespace std;int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }int main () { int cas; scanf("%d

不慌不忙、不急不躁 1384

LCM Walk HDU - 5584

LCM Walk 题目链接:HDU - 5584 题意:一只青蛙在无穷大的棋盘上跳跃,规则如下:青蛙当前位置是(x, y);那么下一步,青蛙只能跳到(x+lcm(x, y), y)或(x, y+lcm(x, y));题目给出一个终点(ex, ey),问青蛙的起点有几种情况; 思路: 假设青蛙由(x, y)跳到了(x+lcm(x, y) = ex,  y = ey);因为lcm(x, y)...

Sirius_han的博客 306

HDU 5584 LCM Walk【搜索】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5584题意:分析:这题比赛的时候卡了很久,一直在用数论的方法解决。 其实从终点往前推就可以发现,整个过程中的点的gcd都是一样的,利用这个性质倒着搜索一遍就好了。 相同的gcd均为gcd(6,10)gcd(6,10) 以(6,10)(6,10)为例,假设倒数第二个点到达(6−x∗gcd,10)(6-

Tuesday 700

HDU 5584 LCM Walk (数学推导)(数论)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5584题目大意:给你一个点(x,y),你每次可以向前走z,z为x和y的最小公倍数,即走到(x+z,y)或者(x,y+z),现在给你一个点(x,y)问你可能的出发点有几个(包括自己)解题思路: 因为z=lcm(x,y) 所以z>=x &&z>=y 所以假设在点(x,y)时,大的点一定是上一步加上z的点

仰望星空 672

hdu 5584 LCM Walk(gcd,逆推)

hdu 5584 LCM Walk 分析: 终点为 (ex,ey)(ex,ey)(ex,ey) , 令上一步为 (x,y)(x,y)(x,y) 由倒数第二步到最后一步分为两种情况:(x,y+z),(x+z,y),z=lcm(x,y)(x,y+z),(x+z,y) ,z=lcm(x,y)(x,y+z),(x+z,y),z=lcm(x,y) 又因为:z>=max(x,y)z>=max(x,y)z>=max(x,y) , 故可以根据 exexex 和 eyeyey 的大小确定是哪一种情况

yezzz的博客 311

HDU 5584- LCM Walk 【数论】

题意:给你一个x和y,z = lcm(x, y),每次x加上z或者y加上z,然后给你一个终点,问你最多能从几个点转移过来的。 思路:对于给定的终点(x, y) , 我们可以知道一定是较大那个数加上了z,所以我们令y为较大那个数。设(x, y1) 是上次的点, g = gcd(x, y1), z = lcm(x, y1) = k*x , 那么y1 = k * gcd(x, y), gcd(x,...

独钓门前月 468

HDU5584 LCM Walk 数学公式

LCM Walk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 47    Accepted Submission(s): 31 Problem Description A frog has just learned s

Jonariguez 吾本优秀 1807

HDU 5584 LCM Walk 【数学+思维+逆推】

HDU 5584 LCM Walk Problem Description A frog has just learned some number theory, and can’t wait to show his ability to his girlfriend. Now the frog is sitting on a grid map of infinite rows and ...

Waiting For You 393

LCM Walk(HDU-5584)

Problem Description A frog has just learned some number theory, and can't wait to show his ability to his girlfriend. Now the frog is sitting on a grid map of infinite rows and columns. Rows are n...

Alex_McAvoy的博客 726

HDU 5584 LCM Walk

LCM Walk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 442    Accepted Submission(s): 232 Problem Description A frog has just learned

KeyboardPianist的博客 850

HDU5584 LA7411 LCM Walk【数学规律】

LCM Walk Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 3506 Accepted Submission(s): 1836 Problem Description A frog has just learned some ...

海岛Blog 553

HDU 5584 LCM Walk(2015-ICPC-上海赛区)

题目连接:HDU 5584 题目大意:有一只青蛙,它从起点(x,y)出发,每次它会走LCM(x,y)步[LCM(x,y)就是x,y的最小公倍数]到达点(x+LCM(x,y),y)或点(x,y+LCM(x,y)),最终,它会到达点(ex,ey),现给你终点(ex,ey),要你求出它的起点有多少种可能 解题思路:设有一个点是(x,y),gcd(x,y)=k;则有x=ai*k,y=bi*k; 点(

Strive 476
上一篇: Moving On (Gym - 102222F,floyd 变形)
下一篇: Telephone Lines (POJ - 3662,SPFA + DP || 二分 + SPFA || 分层图 + SPFA)
The___Flash
博客等级 码龄8年 79粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值