HDU5584-LCM Walk(数论,数学推导)

学习海康VisionMaster之路径提取 这里也需要注意下,这里有两种模式,在运行参数的这一栏有“等距离取点”和“查找边缘点”两个检测模式,说实话,那个等距离取点我也没搞懂有什么用,我拿了OK和NG的图片去对比,好像没有什么实际用处,无法检测(不知道有没有小伙伴知道这个模式到底是怎么用的!2:应用场景:典型的场景是点胶检测,判断胶路质量,有没有断胶等,一开始这胶路检测,真的是难倒我了,特别是不规则图像如何检测,学习了这个算子后,思路一下子打开了,原来还可以这么搞!四:实测:上述设定好参数,开始实际测量看看效果,不同的检测模式下的检测效果。 阅读详情

题目链接:HDU5584

题目意思:

你是一只青蛙,你在一个无限大的二维平面,如果你当前的位置为(x,y),那么你可以跳到(x +LCM(x,y),y)或者(x, y + LCM(x,y))。现在给你终点(ex,ey), 问有多少个起点可以按照这种走法走到这个点。

题目思路:

设 x = n ∗ k , y = m ∗ k , g c d ( x , y ) = k x = n * k,y = m * k,gcd(x,y) = k x=n∗k,y=m∗k,gcd(x,y)=k,也就是说 g c d ( n , m ) = 1 gcd(n, m) = 1 gcd(n,m)=1。
那么我们可以得到 L C M ( x , y ) = x ∗ y / k = n ∗ k ∗ m ∗ k / k = n ∗ m ∗ k LCM(x,y) = x * y / k = n * k * m * k / k = n * m * k LCM(x,y)=x∗y/k=n∗k∗m∗k/k=n∗m∗k。
则 ( x , y ) 可 以 表 示 为 ( n ∗ k , m ∗ k ) (x,y)可以表示为(n * k ,m * k) (x,y)可以表示为(n∗k,m∗k),他可以去 ( n ∗ ( m + 1 ) ∗ k , m ∗ k ) (n * (m + 1) * k , m * k) (n∗(m+1)∗k,m∗k)或者 ( n ∗ k , ( n + 1 ) ∗ m ∗ k ) (n * k , (n + 1) * m * k) (n∗k,(n+1)∗m∗k)。
我们发现 g c d ( n ∗ ( m + 1 ) ∗ k , m ∗ k ) = g c d ( n ∗ k , ( n + 1 ) ∗ m ∗ k ) = k gcd(n * (m + 1) * k , m * k) = gcd (n * k , (n + 1) * m * k) = k gcd(n∗(m+1)∗k,m∗k)=gcd(n∗k,(n+1)∗m∗k)=k。
因为 g c d ( n , m ) = 1 , g c d ( n , n + 1 ) = 1 , g c d ( m , m + 1 ) = 1 gcd(n,m) = 1,gcd(n,n + 1) = 1,gcd(m,m + 1) = 1 gcd(n,m)=1,gcd(n,n+1)=1,gcd(m,m+1)=1。
那么 g c d ( n ∗ ( m + 1 ) , m ) = g c d ( n , ( n + 1 ) ∗ m ) = 1 gcd(n * (m + 1) , m ) = gcd (n , (n + 1) * m ) = 1 gcd(n∗(m+1),m)=gcd(n,(n+1)∗m)=1。
推到这里,我们得到启发,我们可以逆推了,假如当前我们在(x,y),表示成 ( n ∗ ( m + 1 ) ∗ k , m ∗ k ) (n * (m + 1) * k , m * k) (n∗(m+1)∗k,m∗k)或者 ( n ∗ k , ( n + 1 ) ∗ m ∗ k ) (n * k , (n + 1) * m * k) (n∗k,(n+1)∗m∗k),我们很容易通过x和y的大小关系,判断他是 ( n ∗ ( m + 1 ) ∗ k , m ∗ k ) (n * (m + 1) * k , m * k) (n∗(m+1)∗k,m∗k)还是 ( n ∗ k , ( n + 1 ) ∗ m ∗ k ) (n * k , (n + 1) * m * k) (n∗k,(n+1)∗m∗k)。而且我们发现青蛙运动的过程中,x,y坐标的gcd是不变的。
那么我们可以开始逆推,我们假设 x > y x > y x>y,那么就是 ( n ∗ ( m + 1 ) ∗ k , m ∗ k ) (n * (m + 1) * k , m * k) (n∗(m+1)∗k,m∗k),可以走到他的点只有 ( n ∗ k , m ∗ k ) (n * k, m * k) (n∗k,m∗k)。
因为过程中,x,y坐标的gcd是不变的,所以我们一开始的就把他除掉,这样我们只需要关心当前 x % (y + 1) ==0,判断这个点是否还有点可以走到他。处理完,这条路径上有点的数量加上原始点本身就是答案。

代码如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main() {
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int t; cin >> t;
    for(int ca = 1; ca <= t; ca++) {
        LL x, y; 
        cin >> x >> y;
        if(x < y) swap(x, y);
        LL g = __gcd(x, y);
        x /= g; y /= g;
        LL ans = 1;
        while(x % (y + 1) ==0) {
            ans++;
            x = x / (y + 1);
            if(x < y) swap(x, y);
        }
        cout << "Case #" << ca << ": ";
        cout << ans << endl;
    }
    return 0;
}
卡诺图化简法 目录 1.学前需要了解知识点 2.卡诺图(karnaugh map) 3.逻辑函数的卡诺图化简法 4.总结 1.学前需要了解知识点 最小项的定义 最小项的表示方法 最小项的相邻性 最小项的定义:一个函数的某个乘积项包含了函数的全部变量,其中每个变量都以原变量或反变量的形式出现,且仅出现一次,则这个乘积项称为该函数的一个标准积项,通常称为最小项。 最小项的表示方法:通常用来表... 阅读详情

相关推荐

Python调用Google Trends官方数据接口实战指南

Google Trends作为全球最权威的搜索热度分析工具,其数据本质是公开、结构化、可编程访问的时序指标,而非需爬取的网页内容。其底层基于标准HTTP协议与JSON API交互,核心原理在于复现用户浏览器行为——通过/explore接口获取token,再凭token请求/widgetdata/multiline等端点获取归一化(0-100)时间序列数据。该技术路径规避了Selenium渲染依赖与非官方库的脆弱性,具备高稳定性、易调试、可监控等工程优势,广泛应用于竞品监测、内容选题验证、地域营销策略制定等业

weixin_29789925的博客 420

HDU 5584 LCM Walk【搜索】

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

An55511的博客 260

STM32接入CH340芯片的升级电路及初始化进入升级模式(死机)问题处理

MCU-REST 在 MCU-BOOT0 处于低电平状态下,进行下拉操作,在MCU-REST 与 MCU-BOOT0 恢复正常电平时,将导致MCU死机,MCU-REST 先于 MCU-BOOT0 下拉可解决该问题;MCU-REST 在 上升沿结束时将判断 MCU-BOOT0 的状态,MCU-BOOT0 处于高电平,MCU死机,MCU-BOOT0 处于低电平 MCU 正常;

LuDvei的博客 2491

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

Win10 IPv6 远程桌面连接(小米路由器)

背景 由于家里是移动网,且懒得向运营商要公网IPv4,所以想着用IPv6试一下。 家里的环境是这样的: 宽带用的是移动的,没有公网IPv4,但经过测试发现IPv6是公网的 上网通过光猫拨号,而不是通过路由器 路由器是小米AC2100 光猫更改为桥接模式 路由器必须要通过PPPoE拨号,如果是光猫拨号,那么要找对应的维护人员辅助你把光猫改成桥接模式。通过PPPoE拨号路由器就能够拿到公网的IPv6网段,也就可以给底下的其他服务分配公网IPv6了。而如果是光猫拨号,那么只有路由器可以拿到公网的IP。其他的设

timczm的博客 1万+

手把手教你用gym训练宇树GO2机器人模型(附完整配置文件)

本文提供了一份详细的实战指南,教你如何使用Gym框架为宇树GO2四足机器人搭建强化学习训练环境。文章深入解析了环境配置、参数调试、奖励函数设置等关键步骤,并分享了避开常见陷阱的经验,旨在帮助开发者高效完成模型训练。

oo7890的博客 323

HDU - 5584-LCM Walk (gcd应用)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5584题目大意: 在一个无限大的棋盘上,若起点为(x,y)(x,y),则人每次可以选择向上走或者向右走,长度为lcm(x,y)lcm(x,y), 即走到(x+lcm(x,y),y)(x+lcm(x,y),y)或者(x,y+lcm(x,y))(x,y+lcm(x,y)),给定一个终点的坐标,求可以走到

SD_Stjean的博客 499

从翼型到湍流:用生活化案例图解空气动力学核心概念(中英双语版)

本文通过飞机机翼、F1赛车、高尔夫球等生活化案例,图解空气动力学核心概念。深入浅出地解释了攻角如何产生升力、边界层与流动分离如何影响阻力、马赫数如何划分速度世界,以及涡流与湍流的特性与应用。文章还介绍了计算流体动力学(CFD)这一现代数字风洞工具,帮助读者直观理解这些塑造现代交通与运动设计的无形之力。

metaverse5vr的博客 475

HDU5584(lcm&gcd)

点击打开链接 当x>y时,上一步一定是从左往右走 当y>x时,上一步一定是从下往上走 当x=y时,不存在这样的点 //以y>x为例:设z=k*x(k为整数),gcd(x,y)=gcd(x,y-k*x)=x*(y-k*x)/lcm(x,y-kx)=x*(y-k*x)/z=(y-k*x)/k 可得出k=y/(gcd(x,y)+x),故只要检验y%(gcd(x,y)+x)=

West___wind的博客 560

YOLOv8使用设备摄像头实时监测

YOLOv8使用设备摄像头实时监测

Joining667的博客 4188

在虚拟机中对阿克曼转向车进行导航及避障的仿真测试

一、    在我使用rosdep install teb_local_planner去安装teb_local_planner的时候,报错:Command ‘rosdep’ not found, but can be installed with:sudo apt install python3-rosdep2    我花大半个月好不容易建立起的一系列ROS环境,被python3-rosdep2这条万恶的语句连同ROS一起给我删了。。。悲伤来的那么猝不及防    随着ROS版本的迭代,相关资料很多都不再适用

慕羽★的博客 3807

HDU 5584 LCM Walk

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5584 题意:有一只青蛙在(x,y)点,每次它只能跳向(x+z,y)或者(x,y+z)  z = lcm(x,y)。现在知道它跳了若干步后在(ex,ey)点,求可能的起点个数。 思路:设x = p * k , y = q * k ( k = gcd(x,y)  , p  q  互质

DS-K的博客 447

EndNote X9 快速上手教程(毕业论文参考文献管理器)

EndNote X9 快速上手教程一、EndNote X9安装1.安装2 安装之后重要步骤二、第一次打开 EndNote三、参考文献引用1. 导入知网文献2. 参考文献引用四、常见问题1. 引用文献中出现%J的问题2 参考文献中出现et.al1 在文章中引用的编号的地方出现2 在参看文献列表里出现 一、EndNote X9安装 1.安装 打开文件夹 安装前,一定要读 #Readme.txt 文件 一定要把License.dat和ENX9Inst.msi放在同一文件夹,安装的时候会自动激活。 我的安装路

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2万+

【数论】hdu5584 LCM walk(数学推导)

题意: 从(x,y)点出发,到(x+z,y)或(x,y+z)z=lcm(x,y);给出终点(a,b),问有多少个可能起点。 题解: 注意到 gcd(x+z,y)==gcd(x,y+z)==gcd(x,y)就不难了。 从起点到终点gcd一定要相同。 设g=gcd(x,y);则x‘=y*g/(x+g)  注意令y>x; 推导过程中要用到lcm(x,y)=x*y/gcd(x,y)

miku23736748的博客 481

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

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

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

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

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

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

HDU-5584-LCM Walk【2015上海赛区】【数论】

HDU-5584-LCM Walk

Linoy 1575

【HDU】5584LCM Walk-(数学推导)

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2708    Accepted Submission(s): 1426   Problem Description A frog has just learned...

红点雷龙XL 295

HDU5584(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 columns. Rows are numb...

snayf的博客 514

hdu 5584 LCM Walk

传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5584这是本年度上海区域赛第三水的题,数论题,可以用公式做,也可以枚举因子搜索去做,其实本质上就是关键性的一步有没有推导出来!!二维点,(a,b)可以走到其中任何一个加上二者的最小公倍数,然后给出终点坐标,问可能的起点有多少个?很显然是要倒推回去,又很容易发现最小公倍数一定比二者都大,那么也就是说当前坐

yp_2013的博客 876

HDU-5584-LCM Walk(GCD/LCM)

题意: 一只青蛙,站在x,y点,每次跳跃,会跳到,(x+lcm(x,y),y) 或者(x,y+lcm(y)) 点。 现在给出终点,(exe_xex​,eye_yey​)求有多少个可能的起点。 思路: 乍一看好像每次又有两种可能,搜索起来复杂度很好。其实每次跳跃都是固定的。 因为lcm(x,y)必然大于 x和y,那么显然上一步加的就是现在比较大的坐标。所以上一步的方向总是固定的。 往回推的时候。 如果 x>y 直接 swap(x,y) 方便计算 现在假设上一步是 x,y 那么 gcd(x,y) = d

qq_43461168的博客 329

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

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

queuelovestack的专栏 3413

HDU 5584 LCM Walk(数学题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5584 题意:(x, y)经过一次操作可以变成(x+z, y)或(x, y+z)现在给你个点(ex, ey)输出有多少种可能的起点,这些起点经过若干次操作能变成(ex, ey)。 思路:我们考虑其中的一次变换,现在为(x, y)(y > x)那么它显然是由(x, y - z)变换来的。其中z ...

weixin_33877885的博客 148

hdu 5584 LCM Walk

题意:给出一个整点(x,y)  (x>0&&y>0) ,每次可以走到(x,x+lcm(x,y))或者( y+lcm(x,y) ,y)。 现在给定终点,问有多少个点可能是出发点。 LCM Walk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total

便纵有千种风情 538

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 columns. Rows a...

weixin_34306676的博客 162

文章标题 HDU 5584:LCM Walk(数学推导)

LCM WalkDescriptionA 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 numbere

Wang_SF2015的博客 428
下一篇: HDU5573-Binary Tree(思维)
dawuga
博客等级 码龄8年 29粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值