数论
2码8改
@
展开
-
线筛
常用的素数、欧拉、莫比乌斯const int N=5e6+9;int mu[N],phi[N],su[N],vis[N],num;void init(){ mu[1]=1,phi[1]=1; for(int i=2;i<N;++i){ if(!vis[i])su[++num]=i,mu[i]=-1,phi[i]=i-1; for(i...原创 2019-03-08 22:33:11 · 177 阅读 · 0 评论 -
数论-大步小步(bsgs)与拓展(exbsgs)
大步小步(bsgs)!!!求ax≡b(modp)a^x\equiv b(mod \quad p)ax≡b(modp)中的x(最小非负整数),其中p为素数设m=p向上取整m=\sqrt{p} 向上取整m=p向上取整x=km−qx=km-qx=km−q则ax≡akm−q≡b(modp)a^x\equiv a^{km-q}\equiv b(mod \quad p)ax≡akm−q≡b(mo...原创 2019-04-08 09:14:52 · 705 阅读 · 0 评论 -
数论-矩阵快速幂及其简单构造方法
矩阵快速幂及其简单构造方法[用途]n较大时,求简单递推式Fn=∑i=1n−1kiFn−i+something,(ki∈Z)F_n=\sum\limits_{i=1}^{n-1}{k_iF_{n-i}}+something,(k_i\in Z)Fn=i=1∑n−1kiFn−i+something,(ki∈Z)[构造形式]设所求矩阵为X设所求矩阵为X设所求矩阵为X则有[Fn−10...原创 2019-03-17 16:07:35 · 277 阅读 · 0 评论 -
数论-卢卡斯定理(lucas)与拓展卢卡斯定理 (exlucas)
卢卡斯定理(lukas)[用途]求解Cnm%pC_{n}^{m}\% pCnm%p,其中m,n较大,p较小且为素数[结论]Cnm≡Cn/pm/pCn%pm%p(modp)C_{n}^{m}\equiv C_{n/p}^{m/p}C_{n\%p}^{m\%p}(mod \quad p)Cnm≡Cn/pm/pCn%pm%p(modp)[证明]假设:{n=sp+qm=tp+r\lef...原创 2019-03-08 22:35:46 · 748 阅读 · 0 评论 -
数论-中国剩余定理(crt) 与拓展中国剩余定理(excrt)
中国剩余定理(CRT)【用途】求方程组中最小的非负整数解XX&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;≡{a1(modm1)a2(modm2)...an(modmn)X\ \equiv\left\{\begin{array}{cc} a_{1} \quad (mod \quad m_{1})\\ a_{2} \quad (mod \quad m_{2})\\ ...\\原创 2019-03-08 22:34:52 · 567 阅读 · 0 评论 -
数论-乘法逆元
乘法逆元[用途]求解关于a/b(mod p)的问题[介绍]我们假设x为b的乘法逆元,可以将a/b(mod p)转化为ax(mod)p;根据乘法逆元的定义,在模p的意义下有:bx≡1 (mod) p如果乘法逆元x存在,b,p一定互素![适用条件]当p为素数时,可以使用费马小定理求解 ...原创 2019-03-08 22:33:43 · 915 阅读 · 0 评论 -
数论-欧几里得 (gcd) 与拓展欧几里得 (exgcd)
欧几里得(gcd)[用途]求最大公约数 时间复杂度O(log n)[结论]gcd(a,b)=gcd(b,a%b)[证明]当a<b时,程序运行一次又回到了gcd(b,a)所以我们直接证明a>=b的情况即可当r=a%b==0时: a是b的倍数,显然最大公约数...原创 2019-03-08 22:33:26 · 295 阅读 · 0 评论 -
Prefix Sum
1、约数和σ(n)=∑d∣nd\sigma(n)=\sum\limits_{d|n}dσ(n)=d∣n∑d∑i=1nσ(i)=∑i=1ni∗⌊ni⌋\sum\limits_{i=1}^{n}\sigma(i)=\sum\limits_{i=1}^ni*\left \lfloor \frac{n}{i} \right \rfloori=1∑nσ(i)=i=1∑ni∗⌊in⌋σk(i∗j)...原创 2019-09-28 20:03:07 · 275 阅读 · 0 评论