数论 难

整除

\(p|q~,~p\nmid q\)

算术基本(唯一分解)定理 : \(\prod p_i^{c_i}\)

prime

埃氏筛O(nloglogn)&欧拉筛O(n)

密度: \(\dfrac{x}{ln(x)}\)

gcd & lcm

\(\exists x,y\ \ \ s.t.ax+by=gcd(a,b)\)

exgcd

\(\left\{ \begin{array}{lrc} ax+by=gcd(a,b)\\ bx'+(a\%b)y'=gcd(b,a\%b)\\a\%b=a-b*\lfloor\frac ab\rfloor\\gcd(a,b)=gcd(b,a\%b) \end{array} \right.\Rightarrow\left\{\begin{array}{lrc} x=y'\\y=x'-y'\lfloor\frac ab\rfloor \end{array} \right.\)

\(ax+by=c~~\Rightarrow~~a(x+b/g)+b(y-a/g)=c\)

同余

\(a\equiv b~(mod~~m)\)

\(a^{-1}~:~a*a^{-1}\equiv 1~(mod~~m)\)
O(n) , 费马小定理 , exgcd

CRT

\(\left\{\begin{array}{cc}x\equiv a_1~(mod~~m_1)\\x\equiv a_2~(mod~~m_2)\\\cdots\\x\equiv a_n~mod~~m_n)\\\end{array}\right.\)

普通

\(m_i\)之间保证两两互质

\(x=\sum\limits_{i=1}^nM_ia_it_i ~(mod~~M)\)

ex

\(m_i\)之间不保证两两互质

考虑两个式子\(\left.\begin{array}{cc}x\equiv a_1(\mod m_1)\Leftrightarrow x=k_1m_1+a_1\\x=a_2(\mod m_2)\Leftrightarrow x=k_2m_2+a_2\end{array}\right\}\Rightarrow k_2m_2+(-k_1)m_1=(a_1-a_2)\)

exgcd

\(x=k_1m_1+a_1\pmod{lcm(m_1,m_2)}​\)

Lucas 定理

普通

\(\binom nm\equiv\binom{n/p}{m/p}\times\binom{n\%p}{m\%p}\pmod p​\)

扩展

首先

\(\begin{cases}\binom nm\equiv a_1\pmod{p_1^{k_1}}\\\binom nm\equiv a_2\pmod{p_2^{k_2}}\\~~~~~~~~\vdots\\\binom nm\equiv a_c\pmod{p_c^{k_c}}\\\end{cases}\)

如当\(p=3,k=2,n=19\)

\(\begin{split}n!=&1·2\cdots19\\=&(1·2·4·5·7·8·10·11·13·14·16·17)·(3·6·9·12·15·18)·19\\=&(1·2·4·5·7·8·10·11·13·14·16·17)·3^6(1·2·3·4·5·6)·19\end{split}\)

可以递归进行计算。

前面一部分是以\(p^k\)为周期的,所以只需要计算最后不满足一个周期的数是哪些就可以了

欧拉函数

\(n\)以内与\(n\)互质的数的个数

\(\varphi(n)=n\prod\limits_{i=1}^c(1-\dfrac 1{p_i})\)

证明:exCRT式合并

性质
  1. 欧拉定理:对于互质的$a,m,a^{\varphi(m)} \equiv 1 \pmod m $
  2. 小于\(n\)且与\(n\)互质的数的和(\(n\ge2\)):$S = n * \dfrac{\varphi(n)}{2} $
  3. \(\displaystyle\sum_{d|n} \varphi(d) = n ​\)

原根

\(a,p\)是整数,\(gcd(a,p)=1\),那么使\(a^n\equiv1(\mod p)\)立的最小正整数\(n\)叫做\(a\)\(p\)的阶,记做\(\delta_p(a)\)

原根

\(p\)是正整数,\(a\)是整数,若\(\delta_p(a~mod~p)\)的阶等于\(\varphi(p)\),则称\(a\)为模\(p\)的一个原根

BSGS

求解形如 \(A^x\equiv B\pmod C​\) 的问题

普通

\(C\)是质数

\(m=\lceil\sqrt C\rceil​\),则\(x=km-b​\),即原式为\(A^{km}\equiv B*A^b\pmod C​\)

我们对于每一个 \(b\),求出等式右边的值,并存入一个hash表中

据欧拉定理,\(x\) 显然不超过 \(m\)

复杂度\(O(\sqrt p)\)

exBSGS

\(gcd(A,C)\) 任意

\(d=gcd(A,C),A=a*d,B=b*d,C=c*d\)

注意若\(d\nmid B\)显然无解

左右同时除以\(d​\),即\(a*A^{x-1}\equiv b\pmod c​\)

递归,直到\(d=1​\)

之后\(BSGS\)即可

复杂度\(O(\sqrt nlog(n))\)

积性函数

\(\displaystyle\varphi(n)=n*\prod_{i=1}^m(1-\dfrac{1}{p_i})​\)

\(\displaystyle\sum_{d|n} \mu(d) = [n=1]\)

\(id_k,\epsilon,\sigma_k\)

卷积

\(\displaystyle f*g=\sum_{d|n}f(d)g(\dfrac{n}{d})\)

\(\mu*id_0=\epsilon\)

\(\varphi*id_0=id_1\)

证明:

\(\displaystyle{\begin{aligned}&n\\=&\sum_{i=1}^n\sum_{d|n}[gcd(i,n)=d]\\=&\sum_{d|n}\sum_{i=1}^{\frac nd}[gcd(i,\frac nd)=1]\\=&\sum_{d|n}\varphi(\frac nd)\\=&(id_0*\varphi)(n)\end{aligned}}\)

筛积性函数

Min_25:质因子分类

反演

\(\displaystyle{\sum_{i=1}^n\sum_{j=1}^n [gcd(i,j)==d]\\\sum_{i=1}^n\sum_{j=1}^n gcd(i,j)\\\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)\in prime]\\\sum_{i=1}^n\sum_{j=1}^m gcd(i,j)\\\sum_{i=1}^n\sum_{j=1}^m lcm(i,j)\\\prod_{i=1}^n\prod_{j=1}^m gcd(i,j)\\\prod_{i=1}^n\prod_{j=1}^m\dfrac{lcm(i,j)}{gcd(i,j)}\\\sum_{i=1}^n\sum_{i=1}^m\varphi(ij)\\\sum_{i=1}^n\sum_{j=1}^md(ij)\\\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^Cd(ijk)\\\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C\left(\begin{array}{cc}\dfrac{lcm(i,j)}{gcd(i,k)}\end{array}\right)^{f(type)}}​\)

群论

给定一个集合\(G=\{a,b,c,\dots\}\)和集合\(G\)上的二元运算,并满足:

  1. 封闭性:\(\forall a,b\in G, \exists c\in G, a*b=c\)

  2. 结合律:\(\forall a,b,c\in G, (a*b)*c=a*(b*c)\)

  3. 单位元:\(\exists e\in G,\forall a\in G,a*e=e*a=a\)

  4. 逆元:\(\forall a\in G,\exists b\in G, a*b=b*a=e,\)\(b=a^{-1}\)

则称集合G在运算\(*\)之下是一个群,简称G是群。

置换,置换群,循环
\(Z_k\) (\(K\)不动置换类)

\(G\)\(1\dots n\)的置换群,若\(K\)\(1\dots n\)中某个元素,\(G\)中使\(K\)保持不变的置换的全体,记以\(Z_k\),叫做\(G\)中使\(K\)保持不动的置换类

\(E_k\)(等价类)

\(G​\)\(1\dots n​\)的置换群,\(K​\)\(1\dots n​\)中某个元素,\(K​\)\(G​\)作用下的轨迹,记作\(E_k​\),即\(K​\)\(G​\)的作用下所能变化成的所有元素的集合

轨道-稳定核定理:

\(|E_k|*|Z_k|=|G|\)

\(Burnside\)引理

互异的组合状态的个数\(\displaystyle L=\dfrac{1}{|G|}\sum_{i=1}^{|G|}D(a_i)​\)(\(D(a_i)​\) 表示在置换\(a_i​\)下不变的元素的个数)

\(P\acute{o}lya\)定理

设G是p个对象的一个置换群,用m种颜色涂染p个对象,gi的循环节数为c(gi),则不同染色方案为\(\displaystyle L=\dfrac{1}{|G|}\sum_{i=1}^{|G|}m^{c_i}​\)

类欧几里德算法

基础

\(\displaystyle f(a,b,c,n)=\sum_{i=0}^n\lfloor\dfrac{ai+b}c\rfloor​\)

  1. \(a\ge c~~or~~b\ge c\)

    \(\displaystyle\begin{split}f(a,b,c,n)=&\sum_{i=0}^n\lfloor\dfrac{ai+b}c\rfloor\\=&\sum_{i=0}^n\lfloor\dfrac{(c\lfloor\dfrac ac\rfloor+a\%c)i+(c\lfloor\dfrac bc\rfloor+b\%c)}c\rfloor\\=&\dfrac{n(n+1)}2\lfloor\dfrac ac\rfloor+(n+1)\lfloor\dfrac bc\rfloor+f(a\%c,b\%c,c,n)\end{split}\)

  2. \(a<c,b<c\)

    \(m=\lfloor\frac{an+b}c\rfloor\),

    \(\displaystyle\begin{split}f(a,b,c,n)=&\sum_{i=0}^n\lfloor\dfrac{ai+b}c\rfloor\\=&\sum_{i=0}^n\sum_{j=0}^{\lfloor\frac{ai+b}c\rfloor-1}1\\=&\sum_{j=0}^{m-1}\sum_{i=0}^n[j<\lfloor\frac{ai+b}c\rfloor]\end{split}\\ j<\lfloor\dfrac{ai+b}c\rfloor\Leftrightarrow j+1\leq\lfloor\dfrac{ai+b}c\rfloor\Leftrightarrow j+1\leq\dfrac{ai+b}c\Leftrightarrow jc+c-b-1<ai\Leftrightarrow\lfloor\dfrac{jc+c-b-1}a\rfloor<i\\ \displaystyle\begin{split}f(a,b,c,n)=&\sum_{j=0}^{m-1}\sum_{i=0}^n[j<\lfloor\frac{ai+b}c\rfloor]\\=&\sum_{j=0}^{m-1}\sum_{i=0}^n[\lfloor\dfrac{jc+c-b-1}a\rfloor<i]\\=&\sum_{j=0}^{m-1}n-\lfloor\dfrac{jc+c-b-1}a\rfloor\\=&nm-f(c,c-b-1,a,m-1)\end{split}​\)

    递归,\(O(\log n)\)

扩展

\(\displaystyle\sum_{i=0}^{n}{\lfloor \frac{ai+b}{c} \rfloor}^2,\sum_{i=0}^{n}i\lfloor \frac{ai+b}{c} \rfloor\)

加油

一般就是考虑转换条件,更改限制,递归进行

posted @ 2020-07-08 14:04  zh_dou  阅读(361)  评论(0编辑  收藏  举报