[NOIp 2012]同余方程
Description
Input
Output
Sample Input
3 10
Sample Output
7
Hint
【数据范围】
对于 40%的数据,2 ≤b≤ 1,000;
对于 60%的数据,2 ≤b≤ 50,000,000;
对于 100%的数据,2 ≤a, b≤ 2,000,000,000。
题解
既然保证有解,那么肯定有$gcd(a, b) = 1$,用$exgcd$求出$ax+by = 1$的一组解,再求出$x$的最小正整数解。
1 //It is made by Awson on 2017.10.7 2 #include <map> 3 #include <set> 4 #include <cmath> 5 #include <ctime> 6 #include <queue> 7 #include <stack> 8 #include <vector> 9 #include <cstdio> 10 #include <string> 11 #include <cstdlib> 12 #include <cstring> 13 #include <iostream> 14 #include <algorithm> 15 #define LL long long 16 #define Max(a, b) ((a) > (b) ? (a) : (b)) 17 #define Min(a, b) ((a) < (b) ? (a) : (b)) 18 using namespace std; 19 20 LL a, b, x, y; 21 22 LL exgcd(LL a, LL b, LL &x, LL &y) { 23 if (b == 0) { 24 x = 1; y = 0; 25 return a; 26 } 27 LL c = exgcd(b, a%b, x, y); 28 LL t = x; 29 x = y; 30 y = t-a/b*y; 31 return c; 32 } 33 void work() { 34 scanf("%lld%lld", &a, &b); 35 LL gcd = exgcd(a, b, x, y); 36 printf("%lld\n", (x%b+b)%b); 37 } 38 int main() { 39 work(); 40 return 0; 41 }
转载于:https://www.cnblogs.com/NaVi-Awson/p/7634959.html
[NOIp 2012]同余方程相关推荐
- NOIP 2012 同余方程
菜到数论啥也不会了orz... 根据扩展欧几里得定理:ax + by = gcd(a,b)必定有至少一组解,且可以通过这个算法求出x,y的一组解 过程如下: 根据gcd(a,b) = gcd(b,a ...
- [普及] NOIP 2012 文化之旅
题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一 种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不 同的国家可能有相同的文化.不同 ...
- NOIP 2012 普及组 复赛 culture 文化之旅
NOIP 2012 普及组 复赛 culture 文化之旅 1.找寻迪杰斯特拉(Dijkstra)算法,难度适中,过程中,找到该题. 2.结合题意,弄懂输入输出样例是关键一步. 3.为了能解决2,纸笔 ...
- NOIP 2012 开车旅行
题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 ...
- Luogu P1082 同余方程(NOIP 2012) 题解报告
题目传送门 [题目大意] 求关于x的同余方程 ax≡1(mod b)的最小整数解. [思路分析] 由同余方程的有关知识可得,ax≡1(mod b)可以化为ax+by=1,此方程有解当且仅当gcd(a, ...
- 【NOIP】提高组2012 同余方程
[算法]扩展欧几里德算法 [题解]学完扩欧就可以随便水了... 转化为不定方程ax-by=1. 因为1且题目保证有解,所以方程有唯一解. 紫书曰:同余方程的一个解其实指的是一个同余等价类. 所以满足x ...
- NOIP 2012 Day2
tags: 扩展欧几里得 二分答案 查分 倍增 二分答案 贪心 NOIP categories: 信息学竞赛 总结 同余方程 借教室 疫情控制 同余方程 Solution 首先同余式可以转化为等式. ...
- P1083 [NOIP 2012]借教室
https://www.luogu.org/problem/show?pid=1083#sub 一开始容易想到的方法是线段树,每次修改时,如果出现负数,那么当前这个人一定不能满足了. 但是在noip里 ...
- NOIP 2012 T2 国王游戏 (贪心+高精)
思路: 呃呃网上那么多题解写得都不错-.. 就是高精 巨坑... 这里展出的是任氏高精(纯自己yy滴) //By SiriusRen #include <cstdio> #include ...
- dijkstra算法详解加例题分析 NOIP 2012 文化之旅
首先说一下什么叫单源最短路径问题: 给定一个带权有向图G=(V,E),其中每条边的权是一个实数.另外,还给定V中的一个顶点,称为源.现在要计算从源到其他所有各顶点的最短路径长度.这里的长度就是指路上各 ...
最新文章
- Linux那些事儿 之 戏说USB(28)设备的生命线(十一)
- win7、win10进程pid4占用80端口的解决办法
- c++ map iterator 获取key_前K个高频的元素衍生之Map的Value与Key排序
- 如何导入hadoop源码到eclipse
- python使用python-docx导出word
- 物联网应用层安全威胁_物联网安全国家标准发布,物联网安全产业链确立
- Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci
- Delphi编程 -- 如何实现一个支持Visual Basic的For Each调用的COM对象
- [CM311-1A]-全网最全 Android 用户管理及用户应用权限
- 【NLP】统计自然语言处理(第2版)思维导图
- PHP算法学习(5) 位运算
- HTML页面跳转的5种方法
- 计算机硬件认识与了解,计算机硬件认识实习报告参考
- 语音信号处理入门入籍和课程推荐
- 诛仙mysql数据库清空_数据库管理,启动命令,输入密码,用户名,虚拟机诛仙zx1324-1345一键镜像端、纯端kfvip - Welcome to XiongTianQi.CN...
- 安卓手机卡顿怎么解决_苹果七系统内存满了手机卡顿解决方法
- Swift 周报 第十七期
- JAVA的GUI编程02——事件监听(ActionListener)、TextField事件监听、(组合、内部类)
- Oracle 物理读 逻辑读 一致性读 当前模式读总结浅析
- 【MySQL自学之路】第2天——关系代数计算【理论知识】