题目链接:https://vjudge.net/problem/POJ-1061

题意:在一个首位相接的坐标轴上,A、B开始时分别位于X,Y处,每个单位时间向右移动m,n米,问是否能相遇,坐标轴长L。

思路:与poj2115几乎一样,扩展欧基里德模板题。题意即X+m*x=Y+n*x (mod L),x为最短相遇时间,转换后:(m-n)*x+L*y=Y-X (mod L),令a=m-n,b=L,c=Y-X,可通过扩展欧基里德定理计算出a*x+b*y=gcd(a,b),令d=gcd(a,b)。则原题有解等价与d整除c,且解为 ((c/d*x)%tmp+tmp)%tmp,tmp=abs(b/d),因为a可能小于0,所以计算出来的c也可能小于0,所以tmp要取绝对值。

AC代码:

#include<cstdio>
using namespace std;
typedef long long LL; LL X,Y,m,n,L; void ex_gcd(LL a,LL b,LL &x,LL &y,LL &d){
if(!b) x=,y=,d=a;
else{ex_gcd(b,a%b,y,x,d);y-=x*(a/b);}
} int main(){
scanf("%lld%lld%lld%lld%lld",&X,&Y,&m,&n,&L);
LL a=m-n,b=L,c=Y-X,x,y,d;
ex_gcd(a,b,x,y,d);
LL tmp=b/d;
if(tmp<) tmp=-tmp;
if(c%d==)
printf("%lld\n",((c/d*x)%tmp+tmp)%tmp);
else
printf("Impossible\n");
return ;
}

poj1061(扩展欧基里德定理)的更多相关文章

  1. poj2115(扩展欧基里德定理)

    题目链接:https://vjudge.net/problem/POJ-2115 题意:模拟for循环for(int i=A;i!=B;i+=C),且数据范围为k位无符号数以内,即0~1<< ...

  2. 【bzoj5028】小Z的加油店 扩展裴蜀定理+差分+线段树

    题目描述 给出 $n$ 个瓶子和无限的水,每个瓶子有一定的容量.每次你可以将一个瓶子装满水,或将A瓶子内的水倒入B瓶子中直到A倒空或B倒满.$m$ 次操作,每次给 $[l,r]$ 内的瓶子容量增加 $ ...

  3. 【bzoj2257】[Jsoi2009]瓶子和燃料 扩展裴蜀定理+STL-map

    题目描述 给出 $n$ 个瓶子和无限的水,每个瓶子有一定的容量.每次你可以将一个瓶子装满水,或将A瓶子内的水倒入B瓶子中直到A倒空或B倒满.从中选出 $k$ 个瓶子,使得能够通过这 $k$ 个瓶子凑出 ...

  4. 【bzoj1441】Min 扩展裴蜀定理

    题目描述 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 输入 第一行给出数字N,代表有N个数 下面一行给出N个数 输出 S ...

  5. [洛谷P4777] [模板] 扩展中国剩余定理

    扩展中国剩余定理,EXCRT. 题目传送门 重温一下中国剩余定理. 中国剩余定理常被用来解线性同余方程组: x≡a[1] (mod m[1]) x≡a[2] (mod m[2]) ...... x≡a ...

  6. [POJ1845&POJ1061]扩展欧几里得应用两例

    扩展欧几里得是用于求解不定方程.线性同余方程和乘法逆元的常用算法. 下面是代码: function Euclid(a,b:int64;var x,y:int64):int64; var t:int64 ...

  7. 学习笔记 - 中国剩余定理&扩展中国剩余定理

    中国剩余定理&扩展中国剩余定理 NOIP考完回机房填坑 ◌ 中国剩余定理 处理一类相较扩展中国剩余定理更特殊的问题: 在这里要求 对于任意i,j(i≠j),gcd(mi,mj)=1 (就是互素 ...

  8. 2019牛客暑期多校训练营(第十场)Han Xin and His Troops——扩展中国剩余定理

    题意 求解 $n$ 个模方程 $x \equiv a (mod \ b)$,不保证模数互素($1 \leq n \leq 100$,$0 \leq b < a< 10^5$). 分析 套扩 ...

  9. LOJ 2721 「NOI2018」屠龙勇士——扩展中国剩余定理

    题目:https://loj.ac/problem/2721 1.注意别一输入 p[ i ] 就 a[ i ] %= p[ i ] ,因为在 multiset 里找的时候还需要真实值. 2.注意用 m ...

随机推荐

  1. 【Wince-DataTable填充ListView】DataTable的数据填充到ListView控件,适用.Net2.0

    在开发WinCE6.0程序的时候,要把DataTable的数据显示到ListView控件上,无法使用绑定, 只能使用循环遍历. 思路:外循环遍历行,内循环遍历列 //DataTable:dt2 //L ...

  2. win10 1903 更改文字大小

    标题栏 - 菜单 - 消息框 - 调色板标题11- 图标 - 工具提示 - Caption 标题 的 宽/高 - ; 14的宽高 - 菜单 的 宽/高 - ; 的宽高 -; 设置 注册表 HKEY_C ...

  3. luogu P1362 兔子数 x

    P1362 兔子数 题目描述 设 S(N ) 表示 N 的各位数字之和,如 S(484) = 4+8+4 = 16, S(22) = 2+2 = 4.如果一个正整数满足 S(x*x) = S(x) * ...

  4. zabbix微信发送消息脚本

    cat /usr/local/zabbix/share/zabbix/alertscripts/sed_messages_weixin.py python2.x #!/usr/bin/env pyth ...

  5. 【BZOJ3261】最大异或和(可持久化Trie)

    题意: 思路:可持久化Trie板子题,支持序列插入和询问 #include<bits/stdc++.h> using namespace std; typedef long long ll ...

  6. JavaWeb_(session和application)用户登录注册模板_进阶版

    用户登录注册模板_基础版 传送门 用户登录注册模板进阶版 添加了获得获得当前登录用户信息及存储登录人数 用户登录后,在首页.注册页.登录页显示登录用户信息和存储登录人数信息 目录结构 <%@pa ...

  7. R_Studio(关联)对Groceries数据集进行关联分析

    RGui的arules程序包里含有Groceries数据集,该数据集是某个杂货店一个月真实的交易记录,共有9835条消费记录,169个商品 #install.packages("arules ...

  8. python学习之路(21)

    偏函数 Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. 在介绍函数参数的时候,我们讲 ...

  9. Java实现QQ微信轰炸机1.2(斗图乞丐版)

    之前有小可爱评论可以实现斗图的功能,原理上是行的通的,所以我就稍微改了一下,能够实现单个图片循环轰炸,如果大家感兴趣也可以自己探究实现多张图片循环轰炸,不废话了,直接上源码package QQWcha ...

  10. C++入门经典-例2.14-使用移位运算

    1:代码如下: // 2.14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...