poj1061 青蛙的约会 扩展欧几里德的应用
这个题解得改一下,开始接触数论,这道题目一开始是看了别人的思路做的,后来我又继续以这种方法去做题,发现很困难,学长告诉我先看书,把各种词的定义看懂了,再好好学习,我做了几道朴素的欧几里德,尽管是小学生一样的题目我还是坚持做了几道,然后 看了中国余数定理 跟 中国剩余定理 还有扩展欧几里德的定义以及介绍,这次 这个题目是我自己思考出来的,这个题解是写给自己看的 同时向大家共享,学长说 做数论 要不时的回头 看看以前的题目 做做过了的题目,所以留个纪念
这道题目关节解决句是:
整数)
整数)
整数解。
首先上述是扩展欧几里德的一些 性质,对解本题很有作用,设走了t步,一开始我们列出方程
(x+mt-y-nt)%L==0;
再次化简方程,因为有应用欧几里德来解释方程肯定需要两个变量
(m-n)t+x-y=L*p(这里的p是一个整数,因为绕地球是一个圈嘛,所以有可能绕了很多圈)
移项:
(n-m)t+Lp=x-y;
此时若n==m 或者 (x-y)%gcd(n-m,L)!=0 则方程无解,也就是说青蛙遇不到,这个上述扩展欧几里德性质中都有
接下来解方程
令 (n-m)t+Lp=gcd(n-m,L);
因为t,p的解是不止一组的,我们设其中一组为t0,p0;
直接用扩展欧几里德模版获得t0的值
那么t=t0*(x-y)/gcd(n-m,L)//这个也是扩展欧几里德性质之一
得到的t其实就是正确答案,可是 我们本题一开始的思想 就是在一个 无限循环的 一维坐标上进行的,比如本题案例 ,到目前这一步跑出来的答案是t=-1,实际上我们大家都知道 其实相当于t=4,因为t有无数组解,-1,4只是其中两组,实际上t=-1+L*k(k是一个正整数),最小正解就是k=1的时候
所以最后t=(t%MOD+MOD)%MOD;//MOD=L/gcd(n-m,L);
下面给出代码青蛙的约会
poj1061 青蛙的约会 扩展欧几里德的应用的更多相关文章
- POJ1061——青蛙的约会(扩展欧几里德)
		
青蛙的约会 Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件 ...
 - POJ-1061青蛙的约会,扩展欧几里德求逆元!
		
青蛙的约会 以前不止一次看过这个题,但都没有去补..好吧,现在慢慢来做. 友情提示 ...
 - POJ1061青蛙的约会(扩展欧几里德算法)
		
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 102239 Accepted: 19781 Descript ...
 - poj1061青蛙的约会 (扩展欧几里德)
		
Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...
 - POJ1061 青蛙的约会 —— 扩展gcd
		
题目链接:https://vjudge.net/problem/POJ-1061 青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submi ...
 - BZOJ1477 青蛙的约会  扩展欧几里德
		
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1477 题意概括 两只青蛙,现在分别在x,y的位置,以m,n的速度在周长为L的环形跑道上面跑. 问他 ...
 - 解题报告:poj1061 青蛙的约会 - 扩展欧几里得算法
		
青蛙的约会 writer:pprp Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 119716 Accepted: 25238 ...
 - POJ1061青蛙的约会[扩展欧几里得]
		
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 108911 Accepted: 21866 Descript ...
 - POJ 1061 青蛙的约会 扩展欧几里德--解不定方程
		
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 81606 Accepted: 14116 Descripti ...
 
随机推荐
- Git之 手把手教你使用Git
			
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
 - UIPanGestureRecognizer中translationInView的理解
			
原因是在破船大牛的blog上面看到了一个demo #import <UIKit/UIKit.h> @interface ViewController : UIViewController ...
 - 一天一个Java基础——通过异常处理错误
			
<Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...
 - Func<T, TResult> 委托的由来和调用和好处(为了高大上,为了白富美)
			
Func<T, TResult>是系统的内置委托的中最常用的一个.特点就是必须有一个返回值.(func委托有多个重载,所有重载的最后一个参数就是返回值的类型,前面的是参数类型).注:没有返 ...
 - hdu 4301(基本dp)
			
题意:就是给你一块2*n的巧克力,让你把它分成x块,并且每一个单位的巧克力各不相同,问有多少种分法? 分析:用dp[i][j][k],表示到巧克力的第二列时,巧克力被分成了j快,k用来表示第i列上下两 ...
 - AE+C# 图层中增加相应属性标注
			
原文 AE+C# 图层中增加相应属性标注 ) { IGeoFeatureLayer pGeoFeatureLayer; ILineLabelPosition pLineLabelPosition; I ...
 - file的getPath getAbsolutePath和getCanonicalPath的不同
			
file的这几个取得path的方法各有不同,下边说说详细的区别 概念上的区别:(内容来自jdk,个人感觉这个描述信息,只能让明白的人明白,不明白的人看起来还是有点难度(特别试中文版,英文版稍好些)所以 ...
 - xtraTabControl 如何遍历每个选项卡 z
			
XtraTabHitInfo hi = tabPositionControl.CalcHitInfo(new Point(e.X, e.Y)); if (hi.HitTest == XtraTabHi ...
 - C#(WinForm)实现软件注册
			
转自:http://www.cnblogs.com/ynbt/archive/2011/11/02/2233470.html 源码如下:下载
 - Win7桌面快捷方式全变成某个软件的图标,然后所有快捷方式都只打开这个图标的软件
			
电脑真是用到老学老好,之前没有遇到的情况,今天终于碰上了. 由于电脑桌面搜狗浏览器图标总不显示,于是选择快捷方式的打开方式为搜狗浏览器,结果,尼玛呀,全部快捷图标都变成搜狗的. 上网找了一下,双击就搞 ...