• 数学模板合集


    1、扩展欧几里得

    扩欧,扩展gcd,同余方程,二元一次方程、不定方程(exgcd)

    一般形式:

    [ax+by=c ]

    [ax=cpmod{b} ]

    上下两个方程可互相转化
    考虑对于

    [ax+by=c$$$$bx'+(a mod b)y'=c ]

    [bx'+(a-iggllfloorfrac a b iggr floor imes b)y'=c$$$$bx'+ay'-iggllfloorfrac a b iggr floor imes by'=c$$$$b(x'-iggllfloorfrac a b iggr floor y')+ay'=c$$$$ay'+b(x'-iggllfloorfrac a b iggr floor y')=c ]

    [x=y',y=x'-iggllfloorfrac a b iggr floor y' ]

    例如

    [99x+78y=6 ]

    代码如下

    struct Extended_gcd{
    	inline int gcd(int a,int b){
    		if(!b)
    			return a;
    		return gcd(b,a%b);
    	}
    	inline void exgcd(int a,int b,int c){
    		if(!b){
    			x=c/a,y=0;
    			return ;
    		}
    		exgcd(b,a%b,c);
    		int t=x;
    		x=y;
    		y=t-(a/b)*y;
    	}
    }E;
    
  • 相关阅读:
    echarts动态设置主体颜色
    spring security session
    Spark RDD函数:
    MapReduce TOP n
    feign 使用示例
    trie树
    动态修改注解(annotation)值
    golang插件
    Kafka Streams Example
    tcp并发(c18w)
  • 原文地址:https://www.cnblogs.com/hzf29721/p/10013381.html
Copyright © 2020-2023  润新知