jzoj3793,P2090-数字对【更相减损术,欧几里得算法,数论】

正题

题目链接:
https://www.luogu.org/problemnew/show/P2090


大意

一个数对(a,b),每次可以变为(a+b,b)或(a,a+b)。然后要求一个数对中有n求从(1,1)变成这个数对的最小次数。


解题思路

更相减损法是gcd(a,b)=gcd(a,b-a)/gcd(a-b,b)
证明:

ad,bda∣d,b∣d

所以
(ab)d(a−b)∣d

我们设 a=ba′=b b=abb′=a−b
那么
gcd(a,b)=gcd(a,a+b)gcd(a,b)=gcd(a,a+b)

没错,是不是有些眼熟。更相减损术的次数就是到达一个数对需要的最少次数。
我们就可以枚举一个 xx,然后求数对(n,x)的最小次数。

但是!

会超时。然后我们就可以用欧几里得算法
我们可以发现(b,ab)(b,a−b)进行xx次就是(b,abx)。所以我们可以发现如果要从
(b,abx)(b,a−bx)变到(b,a%b)(b,a%b)xx需要等于a/b,所以我们可以用一个wgcd(x,y)wgcd(x,y)表示变到数对(x,y)(x,y)需要的次数,当b=1b=1时我们只可以将11不断累加到a上面所以需要的次数就是a1a−1
返回

wgcd(x,y)x1      (y=1)inf      (y=0)a/b+wgcd(y,x%y)      (y>1)wgcd(x,y){x−1(y=1)inf(y=0)⌊a/b⌋+wgcd(y,x%y)(y>1)


代码

#include<cstdio>
#include<algorithm>
using namespace std;
int n,mins;
int gcd(int x,int y)//wGCD
{if (y==1) return x-1;if (!y) return 1e9;return x/y+gcd(y,x%y);
}
int main()
{mins=2147483647;scanf("%d",&n);for (int i=1;i<=(n+1)/2;i++)//枚举(n,i)mins=min(mins,gcd(n,i));printf("%d",mins);
}

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

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

相关文章

反射与注解

文章目录一、反射二、注解一、反射 1.1反射引入 • 编译时知道类或对象的具体信息&#xff0c;此时直接对类和对象进行操作即可&#xff0c;无需反射&#xff08;reflection&#xff09; • 如果编译不知道类或对象的具体信息&#xff0c;此时应该如何做呢&#xff1f;使用反射…

.net core 2.0学习笔记(一):开发运行环境搭建

期待已久的.net core 2.0终于发布了&#xff01;大家等的花儿都谢了。 不过比预期提前了一个多月&#xff0c;这在微软历史上还真的不多见。按照历史经验看&#xff0c;2.0版本应该比较靠谱&#xff0c;我猜这也是社区非常火爆的原因吧。下面就简单分享一下.net core2.0开发运行…

不好意思,你这个加分理由不行……

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。周五了&#xff0c;又该周测了&#xff0c;今天和以往一样&#xff0c;上午前两节课都在上课&#xff0c;第三节课进行测试&#xff0c;这周的填空题有点儿多&#xff0c;所以考试的时间较…

SQL索引一步到位

转载自 SQL索引一步到位 SQL索引在数据库优化中占有一个非常大的比例&#xff0c; 一个好的索引的设计&#xff0c;可以让你的效率提高几十甚至几百倍&#xff0c;在这里将带你一步步揭开他的神秘面纱。 1.1 什么是索引&#xff1f; SQL索引有两种&#xff0c;聚集索引和非聚…

jzoj3794,P1383-高级打字机【欧拉序,离线O(n)】

正题 题目链接&#xff1a;https://www.luogu.org/problemnew/show/P1383 大意 三个操作 T c&#xff1a;加入一个字符c U x&#xff1a;撤销前x次操作&#xff08;只包括T和U&#xff09; Q x&#xff1a;询问当前第x个字符 解题思路 对于50%的数据U不会撤销到U 所以我们可…

你也可以做一个简易抽奖程序!

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。今天给大家分享一个使用winform制作的小案例——随机点名&#xff08;抽奖&#xff09;程序&#xff0c;下面我们来看看运行结果&#xff1a;在班内点名为了公平起见&#xff0c;一直使用的…

ASP.NET Core 2.0 特性介绍和使用指南

ASP.NET Core 2.0 发布日期&#xff1a;2017年8月14日 ASP.NET团队宣布ASP.NET Core 2.0正式发布&#xff0c;发布Visual Studio 2017 15.3支持ASP.NET Core 2.0&#xff0c;提供新的Razor Pages项目模板。 详细发布信息查看.NET Core 2.0.0发布说明文档 最新版SDK下载&…

blog项目中遇到的问题及解决

1、dependencesmangement 只做资源定位 2、多模块开发中mapper扫描 3、lambda表达式简写时&#xff08;使用lombox建造者模式&#xff09; 4、新增评论时 使用mp的自动填充时userid未赋值

你在学校我安排了你没有做到最多凶你一顿,在公司不一样,直接得让走人!...

今天放一部分聊天记录吧~毛帅龙同学穆老师我今天跟着公司做项目了雄雄的小课堂可以呀雄雄的小课堂厉害了雄雄的小课堂好好干哈雄雄的小课堂等有空了出一套若依的文档雄雄的小课堂给大家分享分享毛帅龙同学那个ruoyi视频买了雄雄的小课堂199&#xff1f;毛帅龙同学现在每天看两个…

2018/7/10-纪中某C组题【jzoj3792,jzoj3793,jzoj3794】

前言 由于B组题目太残酷&#xff0c;忒容易爆零&#xff0c;于是我就回到了C组温暖的怀抱 今日说法分数 正题 T1&#xff1a;jzoj3792,P2062-分队问题【贪心】 博客链接&#xff1a;https://blog.csdn.net/mr_wuyongcong/article/details/80988719 T2&#xff1a;jzoj3793,…

ASP.NET Core 源码学习之 Logging[2]:Configure

在上一章中&#xff0c;我们对 ASP.NET Logging 系统做了一个整体的介绍&#xff0c;而在本章中则开始从最基本的配置开始&#xff0c;逐步深入到源码当中去。 默认配置 在 ASP.NET Core 2.0 中&#xff0c;对默认配置做了很大的简化&#xff0c;并把一些基本配置移动到了程序…

两个月拿到N个offer,看看我是如何做到的

转载自 两个月拿到N个offer&#xff0c;看看我是如何做到的 前言&#xff1a; 北京-三年经验-Java&#xff0c;在金三银四这两个月期间&#xff08;在五月初还去面试了几家&#xff0c;主要是三四月份期面试剧居多&#xff09;&#xff0c;我跳槽面试&#xff0c;前前后后我…

Redis工具类

文章目录Redis使用FastJson序列化Redis配置类Redis工具类Redis使用FastJson序列化 <!--fastjson依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.33</version></depend…

“小朋友”们节日快乐呀~

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。今天是六月一日——儿童节&#xff0c;看了看朋友圈&#xff0c;不管是大孩子还是小孩子&#xff0c;都在过节&#xff0c;哈哈哈。最近四班一直在做项目&#xff0c;一共6个小组&#xff…

jzoj1293,P2933-气象牛(气象测量)【dp】

前言 考试时题目都没看懂&#xff0c;题目十分玄学 举个栗子 Sum(sj,s(j1))Sum(sj,s(j1))就是Sum(msj,ms(j1))Sum(msj,ms(j1))and 用1∼n1∼n的数概况1∼10000001∼1000000的数 反正就是十分的玄学 正题 大意 在nn个数m" role="presentation" style="…

Entity Framework Core 2.0 全局查询过滤器

本博文翻译自&#xff1a;http://gunnarpeipman.com/2017/08/ef-core-global-query-filters/ Entity Framework Core 2.0 全局查询过滤器 Entity Framework Core 2.0引入了全局查询过滤器&#xff0c;可以在创建模型时应用到实体 。它使得构建多租户应用程序和支持对实体 的软…

SpringCloudGateway

文章目录SpringCloudGateway起步消费端整合SpringCloudGateway静态路由配置内置扩展网关过滤内置网关过滤自定义过滤全局过滤器内置全局过滤器自定义全局过滤器ForwardRoutingFilterNetty全局路由响应式负载均衡代理GatewayMetricsFilter网关度量过滤器&#xff08;服务监控&am…

来自一位家长的肺腑之言,句句在理!!!

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】。今天分享一段话&#xff0c;原创来自三班的一位同学家长&#xff0c;可所谓字字在理&#xff01;看完之后我自己也反思了好多&#xff0c;主要是思想观念的转变&#xff0c;就像佟老师给我说的一样…

jzoj1295,P1607-轻轨(庙会班车)【贪心,线段树】

前言 我考试时敲了一个不仅比正解编程复杂度高&#xff0c;而且时间更慢&#xff0c;还AC不了的费用流 垃圾代码 #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #define MN 20011 using namespace std; struct node{int…

一篇文章了解RPC框架原理

转载自 一篇文章了解RPC框架原理 1.RPC框架的概念 RPC&#xff08;Remote Procedure Call&#xff09;–远程过程调用&#xff0c;通过网络通信调用不同的服务&#xff0c;共同支撑一个软件系统&#xff0c;微服务实现的基石技术。使用RPC可以解耦系统&#xff0c;方便维护…