首页 > 其他分享 >P1082 [NOIP2012 提高组] 同余方程

P1082 [NOIP2012 提高组] 同余方程

时间:2024-02-22 21:46:39浏览次数:37  
标签:方程 return NOIP2012 int exgcd P1082 ax 链接 同余

原题链接

扩展欧几里得算法的应用,关于原理性的讲解这里就略去了,这边给出学习链接即模板。

int exgcd(int a,int b,int &x,int &y){
    if (b==0){
        x=1;
        y=0;
        return x;
    }
    int d=exgcd(b,a%b,x,y);
    x=y;
    y=d-a/b*y;
    return x;
}

文章链接      视频链接

首先原题方程可以化简为 ax=by+1 即 ax-by=1(正负无所谓);

那么根据裴蜀定理我们可以得到得到该方程的一个特解,该解不一定是题目要求的最小正整数解。

此时我们对x批量的进行b的增减,原因如下:

ax+by=1;

ax+by+k*ab-k*ab=1;

a(x-kb)+b(y+ka)=1;

显然此时x-kb,y+ka仍为整数。

因此为了保证x0为最小整数,我们进行如下操作:

x=(x%b+b)%b

code

 

#include<bits/stdc++.h>
using namespace std;
int exgcd(int a,int b,int &x,int &y){
    if (b==0){
        x=1;
        y=0;
        return x;
    }
    int d=exgcd(b,a%b,x,y);
    x=y;
    y=d-a/b*y;
    return x;
}
int main(){
    int x,y,a,b;
    cin>>a>>b;
    int m=exgcd(a,b,x,y);
    cout<<(m%b+b)%b;
    return 0;
}

 

标签:方程,return,NOIP2012,int,exgcd,P1082,ax,链接,同余
From: https://www.cnblogs.com/purple123/p/18028275

相关文章

  • 洛谷 P6610 [Code+#7] 同余方程
    题目描述给出若干组正整数\(p\)和\(x\),求方程\(a^2+b^2\equivx\pmodp\)关于\(a\)和\(b\)在模\(p\)意义下解的组数,其中\(p\)是奇数,且不包含平方因子题解来整一个更注重于观察结构而不是计算的题解(首先使用CRT将问题转化为模奇质数的结果相乘是显然的......
  • [数论学习笔记01]完系/同余最短路/费马小定理/扩欧/中国剩余定理
    #[数论学习笔记01]完系/同余最短路/费马小定理/扩欧/中国剩余定理###每日蒟蒻小故事(1/1)蒟蒻带了一本崭新的笔记本到S组.他发现这一节课居然在学习数论."听不懂,求讲解!"蒟蒻说.大佬邪魅一笑,并未理会.蒟蒻只能一边听着老师的讲解,一边努力地记着笔记."什么是完全剩余系......
  • [NOIP2012 提高组] 借教室
    原题链接一道二分+差分的题目,作为学习前缀和和差分的引入题目非常合适。首先检验其单调性,如果一个申请人订单不用修改,那么其前面的申请人也不用修改,符合单调性。接着,这道题暴力的思路就很简单,但是看到运算量(n,m高达1e6),暴力的时间复杂度为O(n*m)显然超时。那么就是运用差分思想......
  • 数论总结_同余相关
    贰.与数论函数联系不大的东西二.定理费马小定理&欧拉定理若\(p\)为质数且\(a\not\equiv0\pmodp\),则\(a^{p-1}\equiv1\pmodp\).若\(\gcd(a,m)=1\),则\(a^{\varphi(m)}\equiv1\pmodm\).三.算法1.欧几里得相关求\(\gcd\)\[\gcd(a,b)=\begin{cases}a&b......
  • 1.同余最短路
    省选模拟赛T3一小部分用到了同余最短路,发现这简单东西自己从来没学过,补一下。\(n\)个正整数,分别为\(A_1,A_2,\cdots,A_n\),求\([0,V]\)中有多少个数可以被表示为\(\sum\limits_{i=1}^{n}A_ix_i,x_i\in\mathbb{N}\)。可以完全背包,但复杂度\(O(nV)\),当\(V\)很大的时候......
  • [NOIP2012 提高组] 借教室
    [NOIP2012提高组]借教室题目描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来天的借教室......
  • P1082 [NOIP2012 提高组] 同余方程
    求关于\(x\)的同余方程\(ax\equiv1(\bmodb)\)的最小正整数解。根据取模的性质,这个方程相当于\(ax+by=1\),其中\(y\)为负数,形式类似于扩展欧几里得的经典形式\(ax+by=\gcd(a,b)\)。方程\(ax+by=m\)有整数解的必要条件是\(\gcd(a,b)|m\),此处\(m=1\),所以有\(\gcd(a,......
  • P1084 [NOIP2012 提高组] 疫情控制
    题意:H国有$n$个城市,这\(n\)个城市用$n-1$条双向道路相互连通构成一棵树,$1$号城市是首都,也是树中的根节点。H国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境......
  • 【数论】同余 学习笔记
    同余定义费马小定理定理内容:若\(p\)是质数,则有:$\foralla\inZ,a^p\equiva\pmodp$。推论:当\(\gcd(a,p)=1\)时,\(a^{p-1}\equiv1\pmodp\)。裴蜀定理及拓展欧几里德算法裴蜀定理:\(\foralla,b\inZ\),一元二次不定方程\(ax+by=\gcd(a,b)\)有整数......
  • P1084 [NOIP2012 提高组] 疫情控制
    首先军队可以原地不动,时间越多越容易合法,先套上二分。在不回到根的情况下,军队深度肯定越小越好。所以军队能往上移就移,如果能回到根就暂时在根对应的儿子那里驻扎。这个过程用树上倍增优化。做完这一步后,我们找出需要军队驻扎的根的儿子(向下不经过军队就能到达叶子),现在就是要让......