zoukankan      html  css  js  c++  java
  • 数论基础

    费马小定理

    P为质数 a为任意整数

    $ a^{p-1} equiv 1 (mod p)$

    线性筛

    欧拉筛

    for(int i=2;i<=n;i++)
    {
    	if(!is_prime[i])
    	{
    		prime[++top]=i;
    	}
    	for(int j=1;j<=top && i*prime[j]<=n;j++)
    	{
    		is_prime[i*prime[j]]=true;
    		cnt[i*prime[j]]++;
    		if(i%prime[j]==0) break;	
    	}		
    }
    

    欧拉函数

    (phi(n))是n以内与n互质的输的个数 (phi(1)=1)
    是积性函数 但不是完全积性函数

    (phi(n)=n(1-frac{1}{p_1})(1-frac{1}{p_2})cdots(1-frac{1}{p_k}))

    (p_i)是n的质因子

    由积性函数得另一式子:

    (phi(n)=p_1^{k_1-1}(p_1-1)*p_2^{k_2-1}(p_2-1)cdots p_i^{k_i-1}(p_i-1)) p为n的质因子

    由上可以进行线性筛了

    void get_phi()
    {
    	phi[1]=1;
    	for(int i=2;i<=n;i++)
    	{
    		if(!is_prime[i]) prime[++top]=i,phi[i]=i-1;
    		
    		for(int j=1;j<=top&&prime[j]*i<=n;j++)
    		{
    			is_prime[i*prime[j]]=true;
    			
    			if(i%prime[j]==0) 
    			{
    				phi[i*prime[j]]=phi[i]*prime[j];
    				break;
    			}
    			else
    			{
    				phi[i*prime[j]]=phi[i]*(prime[j]-1);
    			}
    	    }
        }
    }
    

    欧拉定理

    n与a互质

    (a^{phi(n)} equiv 1 (mod n))

    若n为质数 则变为 费马小定理

    扩展欧几里得算法

    (ax+by=gcd(a,b))

    一定有解
    (y_1=x_2-a/b*y_2)
    (x_1=y_2)

    因为 (gcd(a,0)=a)
    所以 b=0时 显然 x=1,y=0

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

    求逆元

    (不会逆元怎么打UR!)
    求 m 在(mod p) 意义下的逆元 p 为质数

    扩展欧几里得算法求逆元

    ax+by=1

    a=m
    b=p

    mx+bp=1
    取模 p 后 为 mx=1

    所以x为m在模p下的逆元

    费马小定理求逆元

    因为 (m^{p-1} equiv 1(mod p))
    所以 (m*m^{p-2} equiv 1 (mod p))

    所以 (m^{p-2}) 就是m在模质数p下的逆元
    快速幂即可


    我数论太弱了 补了这一点点基础...

    我乱打的一些 一些概念可能不对 哪里有错误 希望可以评论指出 谢谢

  • 相关阅读:
    VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT方式)
    VMWare虚拟机下为Windows Server 2012配置静态IP(NAT方式)
    Windows 7防火墙阻止了远程桌面连接的解决方法
    Win10系统如何在防火墙里开放端口
    ECharts 定制 label 样式
    目标值柱状图
    echarts中datazoom相关配置
    环形图
    带时间轴的指标监控柱状图
    2020mysql面试题
  • 原文地址:https://www.cnblogs.com/ofsxb/p/5228037.html
Copyright © 2011-2022 走看看