数论小姿势??

我也不知道这是什么..


关于离散对数

就是EXBSGS.. 哎主要是消因子

$$acequiv bcpmod{m}Rightarrow aequiv bpmod{frac{m}{(m,c)}}$$

$$aequiv bpmod{nm}Rightarrow aequiv bpmod{n}$$

$$aequiv bpmod{m}Rightarrow acequiv bcpmod{mc}$$

$$aequiv bpmod{c}Rightarrow (a,c)=(b,c)$$

离散对数就是求$x$:

$$A^xequiv Bpmod{C}$$

那么根据公式1消因子,设$d=gcd(A,C)$,为了使$gcd(A,C)=1$,就要找最大的$T$

$$dfrac{A^x}{d^T}equiv dfrac{B}{d^T}pmod{dfrac{C}{d^T}}$$

化简一下

$$dfrac{A^T}{d^T}cdot A^{x-T}equiv dfrac{B}{d^T}pmod{dfrac{C}{d^T}}$$

然后这个$A^{x-T}$就可以用正常的BSGS做了,只是带一个系数而已..

由于$x>T$所以小的要暴力判断


积性函数

呀之前在旧的blog讲了一些.. 这个坑就不填了

主要是列举一些比较常用的卷积??

$$1*1=d$$

拆开即可证

$$1*mu=epsilon$$

设$n=p_1^{r_1}p_2^{r_2}p_3^{r_3}...p_k^{r_k}$

那么就相当于$sumlimits_{i=0}^k(-1)^icdot C_k^icdot 1^{k-i}$

就是$(1-1)^k$

显而易见只有$1$会等于$1$

$$1*varphi=n$$

闭眼证明法

$$1*n=sigma$$

闭眼证明法

$$1*1= au$$

闭眼证明法

$$n*mu=varphi$$

莫比乌斯反演,即$g=f*1Rightarrow f=g*mu$

$sigma$函数只要筛$varphi$函数即可

$sigma(n)=sumlimits_{d|n}d=sumlimits_{i=1}^niepsilon((i,n)=1)$

$=sumlimits_{i=1}^nisumlimits_{k|i,k|n}mu(k)$

$=sumlimits_{k|n}mu(k)sumlimits_{i=1}^{n/k}ik$

$=sumlimits_{k|n}mu(k)dfrac{n(1+n/k)}{2}$

$=dfrac{n}{2}sumlimits_{k|n}mu(k)(1+dfrac{n}{k})$

拆开,由$1*mu=epsilon$和$n*mu=varphi$

$=dfrac{n(varphi(n)+epsilon(n))}{2}$


暴力打表强行筛

就是那道陶陶的难题

xjb搞发现$ans(n)-ans(n-1)$是积性函数,就打表

1)看$p^r$的规律

2)看$(2 imes 2) imes 3=12$如何推到$2 imes (2 imes 3)=12$

3)看大的是否满足


杜教筛

杜教筛

原文地址:https://www.cnblogs.com/darklove/p/6774545.html