zoukankan      html  css  js  c++  java
  • 数论

    今天,$zutter$终于下定决心去学了数论,然后

    从基础说起

    • gcd

    这个..感性理解一下就好了啊

    gcd(int a,int b)
    {
    	if(b==0) return a;
    	return(b,a%b);
    }
    

     证明:

    • exgcd

    扩展欧几里得算法,用于在已知(a,b)时求解(x,y) 使 a*x+b*y=c (c | gcd(a,b))

    int ex_gcd(int a,int b,int &x,int &y)
    {
    	int ret, tmp;
    	if(! b)
    	{
    		x = 1, y = 0;
    		return a;
    	}
    	ret=ex_gcd(b, a % b, x, y);
    	tmp= ; x=y; y=tmp-a/b*y;
    	return ret; 
    }
    

     证明:

     

    又因为  

    所以任意都可为解

     

    •  逆元

    时,称x为a在%p意义下的逆元,记作

    解法:

      • 扩展欧几里得

         

      • 费马小定理
      • 线性求逆元 
    • 中国剩余定理 Chinese Rimainder Theorem

      

      解法:

     

     

    • 排列

        %P      

      • $C_n^m=C_{n-1}^{m-1}+C_{n-1}^{m}$  
      • m,n小于p时可以用O(n)的时间预处理,用O(1) 求值

          方法

          

        

        2.当m,n过大p过小,m,n>p 时

      •   卢卡斯定理

          求c的公式

        递归中每次当 m,n<p 时调用1中公式即可。

    •  二项式定理

      $(x+y)^n$ 中 $x^ty^{n-t}$ 的系数为  $C_n^t$

  • 相关阅读:
    python js(JavaScript)初识
    python css盒子型 浮动
    12、液化
    11、高斯模糊—晶格化
    10、形状工具—渐变图标
    9、形状工具—雪糕
    8、形状工具—制作简单立体效果
    7、形状工具
    6、自由变换—再复制功能
    第三章-17、消息聊天界面
  • 原文地址:https://www.cnblogs.com/ZUTTER/p/9350979.html
Copyright © 2011-2022 走看看