zoukankan      html  css  js  c++  java
  • 常用数学知识及相关推导

    数论

    费马小定理:

    (p in P)((P)(prime)的集合)且(p mid{a})时,

    (a^{m-1}equiv1pmod{m},a^{m}equiv{a}pmod{m},a^{m-2}equiv{a}^{-1}pmod{m})(即(a^{m-2})(a)在模(m)意义下的逆元)

    这是欧拉定理的特殊情况,在此不作证明了。

    欧拉定理:

    (gcd(a,m)=1)时,(a^{varphi(m)}equiv1pmod{m})。变式:(a^cequiv{a^{cmodvarphi(m)}pmod{m}})

    证明如下:

    (m)以内与其互质的数分别为(x_1,x_2,...,x_{varphi(m)}),令(p_i=ax_i)

    引理1:(p_i)之间两两模(m)不同余,(x_i)之间两两模(m)不同余。

    证明:反证法。若(exists{p_i},p_j(i e{j})),使得(p_iequiv{p_j}pmod{m}),即(a(x_i-x_j)equiv0pmod{m})

    (gcd(a,m)=1),且(x_i-x_jin(0,m)),显然不成立。证毕。

    引理2:每个(p)(m)的结果都与(m)互质。

    证明:依然反证法。设(p_i=k*m+r,gcd(r,m)>1)

    (gcd(r,m)|{p_i}),即(gcd(m,p_i)>1)。显然不成立。证毕。

    综上所述,设集合(A={x_i \% m})(B={p_i \% m}),则(A=B)。(对于每个(p_i),能且只能找到一个(x_i),使得(p_iequiv{x_i}pmod{m}))。

    全部乘起来,可以得到(a^{varphi(m)}prodlimits_{i=1}^nx_iequivprodlimits_{i=1}^nx_ipmod{m})。即(a^{varphi(m)}equiv1pmod{m})。证毕。

    扩展欧拉定理:

    (a^c=egin{cases}a^{cmodvarphi(m)}pmod{m}, qquad (gcd(a,m)=1)\a^c,qquadqquadqquadqquadqquadquad(gcd(a,m)>1,c<varphi(m))\a^{(cmodvarphi(m))+varphi(m)},qquadqquad(gcd(a,m)>1,cgevarphi(m))end{cases})

    证明如下:

    先证(forall{p}in{P})(p^kequiv{p^{kmodvarphi(m)+varphi(m)}}pmod{m}(kgevarphi(m)))

    (m=s*p^r(gcd(p,s)=1)),则(varphi(m)=varphi(s*p^r)=varphi(s)*varphi(p^r))(积性函数的性质)。所以(varphi(s)|varphi(m))

    (p^{varphi(s)}equiv1pmod{s}),则(p^{varphi(m)}equiv1pmod{s}),则(p^{varphi(m)+r}equiv{p^r}pmod{m})。(这里用到一个同余的小性质。若(aequiv{b}pmod{c}),则(lambda*aequiv{lambda*b}pmod{lambda*c}))。

    因为(varphi(m)=varphi(s)*varphi(p^r)=varphi(s)*(p-1)*p^{r-1}),所以(rlevarphi{(m)})。又(kgevarphi(m)),所以可以构造出(r)满足(p^k=p^{k-r+r}equiv{p^{k+varphi(m)}}pmod{m},kge{r})

    归纳可知,(p^kequiv{p^{k+tvarphi(m)}},tin{Z}),且指数要为正。故最小的合法指数为(kmodvarphi(m)+varphi(m))。于是可知(p^kequiv{p^{kmodvarphi(m)+varphi(m)}}pmod{m}(kgevarphi(m)))

    再对(a)进行分类讨论:

    (a=p^k)时,(a^cequiv{p}^{kc}equiv{p}^{kc+varphi(m)}equiv{p}^{kc+kvarphi(m)}equiv{(p^k)^{c+varphi(m)}}equiv{(p^k)^{cmod{m}+varphi(m)}}),成立。

    (a=prod{p_i^{k_i}})时,依据唯一分解定理做数学归纳,即可证正确性。证毕。

    线性求逆元:

    设模数为(p)(p=ax+b)。那么

    [ax+bequiv0pmod{p} ]

    两边同时乘上(x^{-1}b^{-1}),得

    [a*b^{-1}+x^{-1}equiv0pmod{p} ]

    [x^{-1}equiv-[frac{p}{x}]*(pmod{x})^{-1}pmod{p} ]

    就可以线性求出了。

    code:

    inv[i] = (p - (p / i)) * inv[p % i] % p (inv[1] = 1)
    

    组合数学:

    第一类斯特林数:

    第二类斯特林数:

    (egin{Bmatrix}n\kend{Bmatrix})表示(n)个有标号球,放到(k)个无标号的盒子里的方案数。那么

    [egin{Bmatrix}n\kend{Bmatrix}=kegin{Bmatrix}{n-1}\kend{Bmatrix}+egin{Bmatrix}{n-1}\{k-1}end{Bmatrix} ]

    (因为球有编号,所以我们考虑最后一个球放在哪里。第(n)个球可以新开一个盒子,或者放在原来的(k)个盒子里)

    排列计数:

    对于一个相对顺序确定的长度为(x)的序列和一个相对顺序确定的长度为(y)的序列,它们合并的方案数为(dbinom{x+y}{y})

  • 相关阅读:
    理想中的分布式架构
    nginx+tomcat动静分离的核心配置
    Liunx下Tomcat+MYSQL+Nginx配置
    Nginx+Tomcat动静态资源分离
    Nginx+Keepalived+Tomcat之动静分离的web集群
    linux tomca几个配置文件及点
    redis实现spring-redis-data的入门实例
    Redis缓存 ava-Jedis操作Redis,基本操作以及 实现对象保存
    Oracle VM Virtual Box 4.3 小巧精悍的虚拟机软件
    Ubuntu下配置 keepalived+nginx+tomcat 负载均衡
  • 原文地址:https://www.cnblogs.com/andysj/p/13829035.html
Copyright © 2011-2022 走看看