裴蜀定理:
任意整数 a, b,(a, b)|d ⇐⇒ ∃ 整数 x, y 使得
ax + by = d,即ax+by=d,那么d一定是gcd(a,b)的倍数
扩展欧几里得定理:
对于两个不全为0的整数a、b,必存在一组解x,y,使得ax+by==gcd(a,b);
题目中ax + by = 1,那么a,b需要满足互质,如果不互质就输出sorry,
之后就是扩展欧几里得的模板,因为a,b互质,最后求得的r一定是1,会得到一组x,y的解,这里还有一个结论:
假设d=gcd(a,b). 那么x=x0+b/dt; y=y0-a/dt;其中t为任意常整数
因为需要满足x>0那么对于求得的解x+=b,y-=a直到x>0

#include<bits/stdc++.h>
#include<tr1/unordered_map>
#define ls l,mid,rt<<1
#define rs mid+1,r,rt<<1|1
#define endl '\n'
#define ps puts("###")
#define int long long
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;const int MAXN = 1e6+10;
const double EPS = 1e-12;
const ll mod = 1e9+7;// 扩展欧几里得算法(递归)
int exgcd(int a, int b, int &x, int &y)
{  if (a % b == 0) {  x = 0;  y = 1;  return b;  }else {  int r, tx, ty;  r = exgcd(b, a % b, tx, ty);  x = ty;  y = tx - a / b * ty;  return r;  }
}  int n,m,p;
//int a[MAXN];
int T;
signed main()
{//ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);//cin>>T;//while(T--)int a,b;while(cin>>a>>b){if(__gcd(a,b)!=1){cout<<"sorry"<<endl;continue;}int x,y;//cout<<x<<' '<<y<<endl;exgcd(a,b,x,y);//cout<<x<<' '<<y<<endl;while(x<=0){x+=b,y-=a;}cout<<x<<" "<<y<<endl;}
}

Romantic(扩展欧几里得模板)相关推荐

  1. Romantic 扩展欧几里得

    romantic 扩展欧几里得 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll exgcd(ll ...

  2. 求逆元(线性求逆元)及其扩展欧几里得

    线性求逆元模板: int inv[maxn]; void initInverse(){inv[1] = 1;for(int i = 2; i <= maxn; i++)inv[i] = (p - ...

  3. Codeforces7C 扩展欧几里得

    Line Time Limit: 1000MS   Memory Limit: 262144KB   64bit IO Format: %I64d & %I64u Submit Status ...

  4. qdu 2017级纳新题(扩展欧几里得)

    在你面前撒个娇 哎呦喵喵喵喵喵 Description 我们一起学猫叫 一起喵喵喵喵喵 在你面前撒个娇 哎呦喵喵喵喵喵 我的心脏砰砰跳 迷恋上你的坏笑 你不说爱我我就喵喵喵 每当xjy和hqy一起唱起 ...

  5. [模板]欧几里得算法/扩展欧几里得

    最大公因数(欧几里得算法) $gcd(a,b)=gcd(b\%a,a)$(不一定需要a<b) $gcd(0,b)=b$ 1 inline int gcd(int a,int b){ 2 retu ...

  6. 拓展欧几里得模板/求逆元模板(java)

    拓展欧几里得模板 参考:哈尔滨理工大学ACM培训资料汇编/ACM-ICPC培训资料汇编* 基本原理 :设 a 和 b 不全为 0,则存在整数 x,y 使得 xa yb=gcd(a,b)=c 对于辗转相 ...

  7. POJ - 1061 青蛙的约会(扩展欧几里得)

    题目链接:点击查看 题目大意:两只青蛙在一个单向循环数轴上跳动,给出初始位置和每秒跳动的距离以及数轴长度,问是否可以相遇,若能相遇求出最小时间 题目分析:自从第一次接触扩展欧几里得以来已经有半年时间了 ...

  8. 数论一之定理证明——裴蜀/威尔逊/费马/扩展欧几里得/[扩展]欧拉/[扩展]中国剩余定理,欧拉函数,逆元,剩余系,筛法

    打死没想到会在H老师处学懂数论 同余,整除 模运算 埃式筛法 欧拉筛法 最大公约数和最小公倍数 辗转相除法 更相减损术 裴蜀定理 威尔逊定理 费马定理 同余等价类.剩余系.缩系 欧拉函数 欧拉定理 扩 ...

  9. POJ 1061扩展欧几里得

    扩展欧几里得的模板题,需要注意的是为了得到一个最小正数解我们要使ax+by=c中的a,b都是正数 #include<cstdio> #include<cstring> #inc ...

最新文章

  1. db4o, 看上去很美
  2. redis mysql原理_MYSQL MONGODB REDIS 同步原理以及高可用性对比
  3. java 字节序列_java – 这个线程安全的字节序列生成器有什么问题?
  4. 深度学习之Image captioning的评分指标篇(BLEU、CIDEr)
  5. rhel7.5安装mysql8.0教程_RHEL7.5下mysql 8.0.11安装教程
  6. duilib中各控件响应的消息类型
  7. 使用wav2sbc.exe无法转换WAV文件问题
  8. 纯手工获取的WINDOWS 7 32位 SP1后续补丁集ver201509的官方下载地址
  9. kindle升级失败变砖(卡大树)维修步骤
  10. 零雨其蒙:Practicing Test-Driven Development by Example Using Delphi
  11. 儿童自行车品牌推荐全球十大儿童山地自行车品牌排行榜
  12. 喀纳斯与圣诞之夜(随想)
  13. 输出100以内的所有质数(每行10个)
  14. Android游戏破解练习-大圣觉醒
  15. VMware vSphere6.0 服务器虚拟化部署安装图解(转载火星小编)
  16. 虚拟机群晖找不到服务器,ESXI6.0安装群晖6.2,解决搜索不到IP问题。禁止转载
  17. Vue之非父子组件通信
  18. Idea关于复制包全名的设置
  19. LeetCode——1947. 最大兼容性评分和(Maximum Compatibility Score Sum)[中等]——分析及代码(Java)
  20. 笔记本计算机故障排除,笔记本电脑开不了机的原因与解决方法

热门文章

  1. 华为、苹果、三星的手机终结之战
  2. VC++运行时库整理
  3. CocosCreator+TS动态创建模型(扇形区域)
  4. mysql和postgresql中的诸多不同 logistic回归P 2016.04.13回顾
  5. 南卡和小米哪个降噪好?南卡和小米降噪耳机对比测评
  6. 视频搬运去重技术深度讲解
  7. e世界服务器不显示皮肤怎么办,王者荣耀:11号墨子皮肤优化完成,碎片商城更新,阿古朵被削弱...
  8. matlab简单绘图
  9. 水声网络路由协议 vbf 原理与代码
  10. 2W 字梳理 Linux 通用知识