一、素数判定 Miller_Rabbin
引理:
费马小定理 a(p−1)=1(modp)a^(p-1)=1(mod\ p)a(p−1)=1(mod p)
二次探测定理 x2=1(modp)x^2=1(mod\ p)x2=1(mod p) 两个解 1,p−11,p-11,p−1


判断素数模板

二、分解质因子
Pollard-rho启发式 时间复杂度 O(n14)O(n^\frac{1}{4})O(n41​)
引理:生日悖论
算法流程:
①选取两个随机数 x0x_0x0​ 和 ccc。
②构造函数 f(xi)=(xi−12+c)modnf(x_i)=(x_{i-1}^2+c)mod nf(xi​)=(xi−12​+c)modn,设 y=x2ky=x_{2^k}y=x2k​,不断判断 1<gcd(∣y−xi∣,n)<n1<gcd(|y-x_i|,n)<n1<gcd(∣y−xi​∣,n)<n 。
③∵\because∵

∴\therefore∴ 当 y=xiy=x_iy=xi​ 时退出。
④通过 Pollard_rho 求得一个因子,用 Miller_Rabbin 判断是否是质因子。
⑤不断递归判断。
质因数分解模板

三、BSGS
用途:求解方程 yx=z(modp)y^x=z(mod\ p)yx=z(mod p) ,ppp 为素数(本质是 gcd(y,p)=1)gcd(y,p)=1)gcd(y,p)=1)。
考虑 x=ir−bx=ir-bx=ir−b,所以 yir=z×yb(modp)y^{ir}=z\times y^b(mod\ p)yir=z×yb(mod p)
所以枚举 bbb,用 hash 记录 yiry^{ir}yir。
当 r=pr=\sqrt pr=p​ 时效率最优 O(n)O(\sqrt n)O(n​)。

四、裴蜀定理
方程 ∑i=1nxi×ai=b\sum_{i=1}^nx_i\times a_i=b∑i=1n​xi​×ai​=b 有整数解的充要条件是 d=gcd(a1,a2,...,an)∣bd=gcd(a_1,a_2,...,a_n)|bd=gcd(a1​,a2​,...,an​)∣b

五、exBSGS
ppp 不为素数即 gcd(p,y)!=1gcd(p,y)!=1gcd(p,y)!=1。
把柿子 yx=z(modp)y^x=z(mod\ p)yx=z(mod p) 展开,得 y×yx−1+k×p=zy\times y^{x-1}+k\times p=zy×yx−1+k×p=z。由裴蜀定理(exgcd)可得,有解当且仅当 gcd(y,p)∣zgcd(y,p)|zgcd(y,p)∣z。
若有解则 yd×yx−1+k×pd=zd\frac{y}{d}\times y^{x-1}+k\times \frac{p}{d}=\frac{z}{d}dy​×yx−1+k×dp​=dz​。
不断递归,设递归 ccc 次,∏i=1cdi=g\prod_{i=1}^{c}d_i=g∏i=1c​di​=g
则 ycg×yx−c+k×pg=zg\frac{y^c}{g}\times y^{x-c}+k\times \frac{p}{g}=\frac{z}{g}gyc​×yx−c+k×gp​=gz​,即 ycg×yx−c=zg(modpg)\frac{y^c}{g}\times y^{x-c}=\frac{z}{g}(mod\ \frac{p}{g})gyc​×yx−c=gz​(mod gp​) 且 gcd(y,pg)=1gcd(y,\frac{p}{g})=1gcd(y,gp​)=1。
此时用 BSGS 求 x−cx-cx−c 即可。
「SDOI2011」计算器

六、扩展欧拉定理
费马定理,欧拉定理的扩展版。

abmodm={abmodφ(m)a⊥mabb<φ(m)a[bmodφ(m)]+φ(m)b>φ(m)a^b\ mod\ m=\begin{cases}a^{b\ mod\ \varphi(m)}&a\bot m\\a^b&b<\varphi(m)\\a^{[b\ mod\ \varphi(m)]+\varphi(m)}&b>\varphi(m)\end{cases}ab mod m=⎩⎪⎨⎪⎧​ab mod φ(m)aba[b mod φ(m)]+φ(m)​a⊥mb<φ(m)b>φ(m)​

当 mmm 为素数时,即费马小定理 ap−1=1(modp)a^{p-1}=1(mod\ p)ap−1=1(mod p)

当 a⊥ma\bot ma⊥m 时,即欧拉定理 aφ(m)=1(modm)a^{\varphi(m)}=1(mod\ m)aφ(m)=1(mod m)

当 b>φ(m)b>\varphi(m)b>φ(m) 时:
∵\because∵ 若 x=y(modm1),x=y(modm2)x=y(mod\ m_1),x=y(mod\ m_2)x=y(mod m1​),x=y(mod m2​) 且 m1⊥m2m_1\bot m_2m1​⊥m2​,则 x=y(modm1×m2)x=y(mod\ m_1\times m_2)x=y(mod m1​×m2​)
∴\therefore∴ 只需要对质因数单独考虑。
假设当前考虑到 piqip_i^{q_i}piqi​​,分两种情况:
①pi⊥ap_i\bot api​⊥a
∵\because∵ φ(piqi)∣φ(m)\varphi(p_i^{q_i})|\varphi(m)φ(piqi​​)∣φ(m)(欧拉函数是积性函数)
∴aφ(m)=1(modpiqi)\therefore a^{\varphi(m)}=1(mod\ p_i^{q_i})∴aφ(m)=1(mod piqi​​)
∴ab=a⌊bφ(m)⌋φ(m)+bmodφ(m)=abmodφ(m)×1=a[bmodφ(m)]+φ(m)(modpiqi)\therefore a^b=a^{\lfloor \frac{b}{\varphi(m)} \rfloor\varphi(m)+b\ mod\ \varphi(m)}=a^{b\ mod\ \varphi(m)}\times 1=a^{[b\ mod\ \varphi(m)]+\varphi(m)}(mod\ p_i^{q_i})∴ab=a⌊φ(m)b​⌋φ(m)+b mod φ(m)=ab mod φ(m)×1=a[b mod φ(m)]+φ(m)(mod piqi​​)
②pi∣ap_i|api​∣a
∵φ(piqi)∣φ(m),φ(piqi)>qi\because \varphi(p_i^{q_i})|\varphi(m),\varphi(p_i^{q_i})>q_i∵φ(piqi​​)∣φ(m),φ(piqi​​)>qi​(易证)
∴b>φ(m)>φ(piqi)>qi\therefore b>\varphi(m)>\varphi(p_i^{q_i})>q_i∴b>φ(m)>φ(piqi​​)>qi​
∴piqi∣ab,piqi∣aφ(m)\therefore p_i^{q_i}|a^b,p_i^{q_i}|a^{\varphi(m)}∴piqi​​∣ab,piqi​​∣aφ(m)
∴ab=0=a[bmodφ(m)]+φ(m)(modpiqi)\therefore a^b=0=a^{[b\ mod\ \varphi(m)]+\varphi(m)}(mod\ p_i^{q_i})∴ab=0=a[b mod φ(m)]+φ(m)(mod piqi​​)

七、CRT/exCRT

x=ai(modni)x=a_i(mod\ n_i)x=ai​(mod ni​)
x=aj(modnj)x=a_j(mod\ n_j)x=aj​(mod nj​)
n=∏ni,mi=nni,mi−1×mi=0(modni)n=\prod n_i,m_i=\frac{n}{n_i},m_i^{-1}\times m_i=0(mod\ n_i)n=∏ni​,mi​=ni​n​,mi−1​×mi​=0(mod ni​)
x=∑aimimi−1x=\sum a_im_im_i^{-1}x=∑ai​mi​mi−1​
②ex
x=ai(modni)x=a_i(mod\ n_i)x=ai​(mod ni​)
x=aj(modnj)x=a_j(mod\ n_j)x=aj​(mod nj​)
∴\therefore∴
x=p×ni+ai=q×nj+ajx=p\times n_i+a_i=q\times n_j+a_jx=p×ni​+ai​=q×nj​+aj​
p×ni−q×nj=aj−aip\times n_i-q\times n_j=a_j-a_ip×ni​−q×nj​=aj​−ai​
∵exgcd\because exgcd∵exgcd
∴=>p,q,x\therefore=> p,q,x∴=>p,q,x
∴x=ni×p+ai(modlcm(ni,nj))\therefore x=n_i\times p+a_i(mod\ lcm(n_i,n_j))∴x=ni​×p+ai​(mod lcm(ni​,nj​))
同理逐个代入。

inline ll exCRT(){ll m=n[1],ans=a[1],x=0,y=0;for(int i=1;i<=N;++i){ll B=(a[i]-ans+n[i])%n[i],gcd=exgcd(m,n[i],x,y);x=x*(B/gcd)%n[i];ans+=x*m;m*=n[i]/gcd;ans=(ans+m)%m;}return (ans+m)%m;
}

八、Lucas / exLucas

Cnmmodp=C⌊np⌋⌊mp⌋×CnmodpmmodpmodpC_n^m\mod p=C_{\lfloor \frac{n}{p}\rfloor}^{\lfloor \frac{m}{p}\rfloor}\times C_{n\mod p}^{m\mod p}\mod pCnm​modp=C⌊pn​⌋⌊pm​⌋​×Cnmodpmmodp​modp
证明:
∵xp=xmodp,Cpm=0modp(0<m<p)\because x^p=x\mod p,C_p^m=0\mod p(0<m<p)∵xp=xmodp,Cpm​=0modp(0<m<p)
∴\therefore∴ (1+x)p=∑Cpixi=1+xpmodp(1+x)n=(1+x)⌊np⌋×p×(1+x)nmodp∑Cnixi=(∑C⌊np⌋jxp)×(∑Cnmodpkxk)(1+x)^p=\sum C_p^ix^i=1+x^p\mod p\\ (1+x)^n=(1+x)^{\lfloor \frac{n}{p}\rfloor \times p}\times (1+x)^{n\mod p}\\ \sum C_n^ix^i=(\sum C_{\lfloor \frac{n}{p}\rfloor}^jx^p)\times (\sum C_{n\mod p}^kx^k) (1+x)p=∑Cpi​xi=1+xpmodp(1+x)n=(1+x)⌊pn​⌋×p×(1+x)nmodp∑Cni​xi=(∑C⌊pn​⌋j​xp)×(∑Cnmodpk​xk)
当且仅当 j=⌊np⌋,k=nmodpj=\lfloor \frac{n}{p}\rfloor,k=n\mod pj=⌊pn​⌋,k=nmodp 时系数相等,即得证。

exLucas:
首先把 ppp 分解:
p=∏pikip=\prod p_i^{k_i}p=∏piki​​这样就可以单独处理质因子,最后用 CRT 解决。
考虑如何计算:CnmmodpkC_n^m\mod p^{k}Cnm​modpk
Cnm=n!pam!pb×(n−m)!pc×pa−b−cC_n^m=\frac{\frac{n!}{p^a}}{\frac{m!}{p^b}\times \frac{(n-m)!}{p^c}}\times p^{a-b-c}Cnm​=pbm!​×pc(n−m)!​pan!​​×pa−b−c即为求解 n!pa\frac{n!}{p^a}pan!​
展开,如 19!mod32=1×2×3×4×...×19=1×2×4×5×...×17×19×(3×6×...×18)19!\mod 3^2=1\times 2\times 3\times 4\times...\times19=1\times 2\times4\times 5\times...\times 17\times 19\times(3\times 6\times...\times 18)19!mod32=1×2×3×4×...×19=1×2×4×5×...×17×19×(3×6×...×18)
=36×(6!)×2×4×5×...×17×19=3^6\times(6!)\times 2\times4\times 5\times...\times 17\times 19=36×(6!)×2×4×5×...×17×19
可以发现,后面部分存在循环节为2×4×5×7×82\times4\times 5\times 7\times 82×4×5×7×8,可以 O(pk)O(p^k)O(pk) 暴力计算,再快速幂计算循环节。前面阶乘递归计算。

九、常系数线性递推
二阶(如斐波那契数列):
an=p×an−1+q×an−2a_n=p\times a_{n-1}+q\times a_{n-2}an​=p×an−1​+q×an−2​
考虑构造 cxn=p×cxn−1+q×cxn−2cx^n=p\times cx^{n-1}+q\times cx^{n-2}cxn=p×cxn−1+q×cxn−2
最后即为 x2−px−q=0x^2-px-q=0x2−px−q=0
可解得两根 α,β\alpha,\betaα,β
所以 an=Aαn+Bβna_n=A\alpha^n+B\beta^nan​=Aαn+Bβn

十、迪利克雷卷积
f∗g(n)=∑d∣nf(d)×g(nd)f*g(n)=\sum_{d|n}f(d)\times g(\frac{n}{d})f∗g(n)=∑d∣n​f(d)×g(dn​)
id=φ∗1id=\varphi*1id=φ∗1
十一、整数分块
引理:
①⌊abc⌋=⌊⌊ab⌋c⌋\lfloor \frac{a}{bc}\rfloor=\lfloor \frac{\lfloor \frac{a}{b}\rfloor}{c}\rfloor⌊bca​⌋=⌊c⌊ba​⌋​⌋
略证:把等式左边拆出 1c\frac{1}{c}c1​ ,设 ab=⌊ab⌋+r\frac{a}{b}=\lfloor \frac{a}{b}\rfloor+rba​=⌊ba​⌋+r,把 rrr 忽略即可。

②构造 j=⌊nk⌋j=\lfloor \frac{n}{k}\rfloorj=⌊kn​⌋,则 jjj为 ⌊ni⌋=k\lfloor \frac{n}{i}\rfloor=k⌊in​⌋=k 中最大的。
证明:
j=⌊nk⌋,⌊nj⌋=⌊n⌊ni⌋⌋≥⌊nni⌋=ij=\lfloor \frac{n}{k}\rfloor,\lfloor \frac{n}{j}\rfloor=\lfloor \frac{n}{\lfloor \frac{n}{i}\rfloor}\rfloor\geq\lfloor \frac{n}{\frac{n}{i}}\rfloor=ij=⌊kn​⌋,⌊jn​⌋=⌊⌊in​⌋n​⌋≥⌊in​n​⌋=i

∵⌊ni⌋=k\because \lfloor \frac{n}{i}\rfloor=k∵⌊in​⌋=k
∴k≤ni<k+1,1k+1<in≤1k,i≤nk\therefore k\leq\frac{n}{i} <k+1,\frac{1}{k+1}<\frac{i}{n}\leq\frac{1}{k},i\leq\frac{n}{k}∴k≤in​<k+1,k+11​<ni​≤k1​,i≤kn​
∵k∣n,j=nk\because k|n,j=\frac{n}{k}∵k∣n,j=kn​
∴imax=j\therefore i_{max}=j∴imax​=j

注:整数分块可以用来求约数。

十二、莫比乌斯反演

证明来源
ϵ=μ∗1\epsilon=\mu*1ϵ=μ∗1
证明:
设:n=∏impikin=\prod_i^m p_i^{k_i}n=i∏m​piki​​因为性质,所以
μ∗1\mu*1μ∗1
=Cm0−Cm1+Cm2−Cm3...=C_m^0-C_m^1+C_m^2-C_m^3...=Cm0​−Cm1​+Cm2​−Cm3​...
=∑(−1)iCmi=\sum(-1)^iC_m^i=∑(−1)iCmi​
=0m=0^m=0m
得证。
g=f∗1,g∗μ=f∗1∗μ=f∗ϵg=f*1,g*\mu=f*1*\mu=f*\epsilong=f∗1,g∗μ=f∗1∗μ=f∗ϵ
∴f=g∗μ\therefore f=g*\mu∴f=g∗μ
形式化为:
f(n)=∑d∣ng(d)×μ(nd)f(n)=\sum_{d|n}g(d)\times \mu(\frac{n}{d})f(n)=d∣n∑​g(d)×μ(dn​)
常见函数及性质:
σk(n)=∑d∣ndk,σ0(n)=τ(n),σ1(n)=σ(n)\sigma_k(n)=\sum_{d|n}d^k,\sigma_0(n)=\tau(n),\sigma_1(n)=\sigma(n)σk​(n)=∑d∣n​dk,σ0​(n)=τ(n),σ1​(n)=σ(n)
加性函数:f(ab)=f(a)+f(b)f(ab)=f(a)+f(b)f(ab)=f(a)+f(b)

1、ϵ=μ∗11、\epsilon=\mu*11、ϵ=μ∗1
2、d=1∗1=>d(n)=∑d∣n1=τ(n)2、d=1*1=>d(n)=\sum_{d|n}1=\tau(n)2、d=1∗1=>d(n)=∑d∣n​1=τ(n)
3、σ=id∗1=>σ(n)=∑d∣nd3、\sigma=id*1=>\sigma(n)=\sum_{d|n}d3、σ=id∗1=>σ(n)=∑d∣n​d
4、id=φ∗14、id=\varphi*14、id=φ∗1
5、id∗μ=φ∗1∗μ=φ5、id*\mu=\varphi*1*\mu=\varphi5、id∗μ=φ∗1∗μ=φ
6、F(n)=∑d∣nf(n)6、F(n)=\sum_{d|n}f(n)6、F(n)=∑d∣n​f(n) 也是积性函数
gcd⁡(i,n)=gcd⁡(n−i,n)\gcd(i,n)=\gcd(n-i,n)gcd(i,n)=gcd(n−i,n)

线性筛积性函数:
推导思路:
例:如F(n)=∑d∣ndφ(d)F(n)=\sum_{d|n}d\varphi(d)F(n)=d∣n∑​dφ(d)先考虑单个质数幂的:
F(pk)=∑ikpi×pi−1(p−1)F(p^k)=\sum_{i}^kp^i\times p^{i-1}(p-1)F(pk)=i∑k​pi×pi−1(p−1)可得:F(pk+1)=F(pk)+p2k+1(p−1)F(p^{k+1})=F(p^k)+p^{2k+1}(p-1)F(pk+1)=F(pk)+p2k+1(p−1)这时再考虑线性筛的过程处理 F(i×p)F(i\times p)F(i×p) 和 F(i)F(i)F(i) 的关系。
若 i⊥pi\bot pi⊥p,直接算 F(i×p)=F(i)×F(p)F(i\times p)=F(i)\times F(p)F(i×p)=F(i)×F(p)
若 p∣ip|ip∣i,那么设 i=a×pki=a\times p^ki=a×pk 可得:
F(i×p)=F(pk×a×p)=F(a)×F(pk+1)F(i\times p)=F(p^k\times a\times p)=F(a)\times F(p^{k+1})F(i×p)=F(pk×a×p)=F(a)×F(pk+1)同理:
F(i)=F(a)×F(pk)F(i)=F(a)\times F(p^k)F(i)=F(a)×F(pk)相减得:
F(i×p)−F(i)=F(a)×p2k+1×(p−1)F(i\times p)-F(i)=F(a)\times p^{2k+1}\times(p-1)F(i×p)−F(i)=F(a)×p2k+1×(p−1)同理:
F(i)−F(ip)=F(a)×p2k−1×(p−1)F(i)-F(\frac{i}{p})=F(a)\times p^{2k-1}\times (p-1)F(i)−F(pi​)=F(a)×p2k−1×(p−1)相除得
F(i×p)=F(i)+p2×(F(i)−F(ip))F(i\times p)=F(i)+p^2\times(F(i)-F(\frac{i}{p}))F(i×p)=F(i)+p2×(F(i)−F(pi​))
即可递推求解。

//莫比乌斯函数
void getMu() {mu[1] = 1;for (int i = 2; i <= n; ++i) {if (!flg[i]) p[++tot] = i, mu[i] = -1;for (int j = 1; j <= tot && i * p[j] <= n; ++j) {flg[i * p[j]] = 1;if (i % p[j] == 0) {mu[i * p[j]] = 0;break;}mu[i * p[j]] = -mu[i];}}
}

莫比乌斯反演技巧:
1、[gcd(i,j)==1]=μ∗1(gcd(i,j))[gcd(i,j)==1]=\mu*1(gcd(i,j))[gcd(i,j)==1]=μ∗1(gcd(i,j))
2、把 μ\muμ 放后(构造 μ∗1\mu*1μ∗1)
4、最后再先枚举 μ\muμ
3、利用 φ∗1=id\varphi *1=idφ∗1=id,求 gcd(i,j)gcd(i,j)gcd(i,j) 时替换成求 ∑d∣i,d∣jφ(d)\sum_{d|i,d|j}\varphi(d)∑d∣i,d∣j​φ(d)
5、例如 ∑d∣i,d∣jf(d)\sum_{d|i,d|j}f(d)∑d∣i,d∣j​f(d) 或者 ∑d∣gcd⁡(i,j)\sum_{d|\gcd(i,j)}∑d∣gcd(i,j)​ 时把 ddd 提前,把 i,ji,ji,j全部除掉 ddd。
6、出现两个无强相互限制的函数且可卷时如 :∑dnd∑t⌊nd⌋μ(t)\sum_{d}^nd\sum_t^{\lfloor \frac{n}{d}\rfloor}\mu(t)d∑n​dt∑⌊dn​⌋​μ(t)可以考虑枚举 T=dtT=dtT=dt 构造 ∑Tn∑d∣Td×μ(Td)\sum_T^n\sum_{d|T}d\times \mu(\frac{T}{d})T∑n​d∣T∑​d×μ(dT​)这时再用 φ=μ∗id\varphi=\mu*idφ=μ∗id 计算。
7、出现 g(n)=∑n∣df(d)g(n)=\sum_{n|d}f(d)g(n)=∑n∣d​f(d) 时,且 f(n)f(n)f(n) 不好求但 g(n)g(n)g(n) 好求,可以转化为 f(n)=∑n∣dμ(dn)g(d)f(n)=\sum_{n|d}\mu(\frac{d}{n})g(d)f(n)=∑n∣d​μ(nd​)g(d)。思路类似容斥。

特殊形式:倍数反演
g(n)=∑n∣df(d),f(n)=∑n∣dμ(dn)g(d)g(n)=\sum_{n|d}f(d),f(n)=\sum_{n|d}\mu(\frac{d}{n})g(d)g(n)=n∣d∑​f(d),f(n)=n∣d∑​μ(nd​)g(d)∑n∣dg(dn)μ(d)\sum_{n|d}g(\frac{d}{n})\mu(d)∑n∣d​g(nd​)μ(d)
=∑k+∞g(kn)μ(k)=\sum_{k}^{+\infty}g(kn)\mu(k)=∑k+∞​g(kn)μ(k)
=∑k+∞μ(k)∑kn∣df(d)=\sum_{k}^{+\infty}\mu(k)\sum_{kn|d}f(d)=∑k+∞​μ(k)∑kn∣d​f(d)
=∑n∣df(d)∑k∣dnμ(k)=\sum_{n|d}f(d)\sum_{k|\frac{d}{n}}\mu(k)=∑n∣d​f(d)∑k∣nd​​μ(k)
=∑n∣df(d)ϵ(dn)=\sum_{n|d}f(d)\epsilon(\frac{d}{n})=∑n∣d​f(d)ϵ(nd​)
=f(n)=f(n)=f(n)

扩展:
数论函数 f(n),g(n)f(n),g(n)f(n),g(n) 和完全积性函数 t(n)t(n)t(n):f(n)=∑int(i)g(⌊ni⌋)f(n)=\sum_i^nt(i)g(\lfloor \frac{n}{i}\rfloor)f(n)=i∑n​t(i)g(⌊in​⌋)等价于g(n)=∑inμ(i)t(i)f(⌊ni⌋)g(n)=\sum_i^n\mu(i)t(i)f(\lfloor \frac{n}{i}\rfloor)g(n)=i∑n​μ(i)t(i)f(⌊in​⌋)证明:咕咕。
例题:
约数个数和
Problem b
GCDLCM
求和(未)
KC学数论(未)
十三、杜教筛
求 S(n)=∑if(i)S(n)=\sum_if(i)S(n)=∑i​f(i)
考虑 ∑if∗g(i)=∑i∑xy=if(x)g(y)=∑yg(y)∑x⌊ny⌋f(x)=∑yg(y)S(⌊ny⌋)\sum_if*g(i)=\sum_{i}\sum_{xy=i}f(x)g(y)=\sum_yg(y)\sum_x^{\lfloor \frac{n}{y}\rfloor}f(x)=\sum_yg(y)S(\lfloor \frac{n}{y}\rfloor)∑i​f∗g(i)=∑i​∑xy=i​f(x)g(y)=∑y​g(y)∑x⌊yn​⌋​f(x)=∑y​g(y)S(⌊yn​⌋)
这样可得 g(1)S(n)=∑if∗g(i)−∑y=2ng(y)S(⌊ny⌋)g(1)S(n)=\sum_if*g(i)-\sum_{y=2}^ng(y)S(\lfloor \frac{n}{y}\rfloor)g(1)S(n)=∑i​f∗g(i)−∑y=2n​g(y)S(⌊yn​⌋)
只要 f∗g,gf*g,gf∗g,g 前缀和很好求,那么预处理 O(n23)O(n^{\frac{2}{3}})O(n32​) 之后得再数论分块+记忆化搜索即可轻松过掉 101010^{10}1010 的数据。
例题:
最大公约数

十四、原根

2021寒假笔记(数论)相关推荐

  1. ICPC训练联盟2021寒假冬令营(9)_2021.01.29_笔记

    试题链接 点我进入代码提交OJ 学习笔记 - 数论与组合分析入门 数论的编程实验 • 3.1素数运算的实验范例 • 3.2求解不定方程和同余方程的实验范例 • 3.3 特殊的同余式 • 3.4 积性函 ...

  2. ICPC训练联盟2021寒假冬令营(5)(部分题解):

    ICPC训练联盟2021寒假冬令营(5)(部分题解): A - Brainman Raymond Babbitt drives his brother Charlie mad. Recently Ra ...

  3. ICPC训练联盟2021寒假冬令营(7)部分题解

    ICPC训练联盟2021寒假冬令营(7)部分题解: A - Doubles As part of an arithmetic competency program, your students wil ...

  4. 2021寒假每日一题《献给阿尔吉侬的花束》

    献给阿尔吉侬的花束 题目来源:<信息学奥赛一本通> 时间限制: 1000 m s 1000ms 1000ms 内存限制: 64 m b 64mb 64mb 题目描述 阿尔吉侬是一只聪明又慵 ...

  5. ICPC训练联盟2021寒假冬令营(2)

    文章目录 ICPC训练联盟2021寒假冬令营(2) [A - Maya Calendar](https://vjudge.net/problem/POJ-1008) 题目 分析 代码 [B - Dip ...

  6. ICPC训练联盟2021寒假冬令营(2)(部分题解)

    ICPC训练联盟2021寒假冬令营(2)(部分题解) B - Diplomatic License In an effort to minimize the expenses for foreign ...

  7. ICPC训练联盟2021寒假冬令营(6)_2021.01.25_笔记

    文章目录 试题链接 学习笔记 - C++ STL 简介 STL容器实验 序列式容器 关联式容器 集合容器 A - The Blocks Problem (POJ 1208, UVA 101) 中文释义 ...

  8. ICPC训练联盟2021寒假冬令营(5)_2021.01.22_笔记

    文章目录 试题链接 学习笔记-高效排序算法( O(nlogn)时间复杂度 ) 算法介绍 归并排序 主要思路 算法图解 算法代码 快速排序 主要思路 算法代码 十大排序算法的动画演示链接 C++STL排 ...

  9. ICPC训练联盟2021寒假冬令营(7)_2021.01.26_笔记

    文章目录 试题链接 学习笔记 - C++STL.贪心算法 C++STL 迭代器 STL算法 关联式容器 贪心算法 介绍 使用贪心法能否得到最优解,是必须加以证明的. 体验贪心法内涵的实验范例 贪心法的 ...

最新文章

  1. xhr请求python_python爬取boss直聘职位数据,并保存到本地
  2. [Jobdu] 题目1214:丑数
  3. 浏览器的渲染原理简介
  4. 利用xml+xsl给客户机添加超级管理帐户!
  5. 中专计算机技术难吗,中专学计算机专业难不难?
  6. excel如何在双引号里面引用变量
  7. C语言关键字 ISO/ANSI C90 C99 C11
  8. java线程变量值_JAVA线程中对变量值的修改
  9. 1 shell备份数据库MYSQL案例
  10. 37. 重定向 21
  11. PDF编辑技巧 PDF怎么复制页面
  12. sybase默认数据库
  13. 关于imcrop的一点注意事项
  14. CorelDraw论坛cdr2022V24.0.0301简体中文包
  15. HbuilderX 运行app项目不成功
  16. CVPR 2022 Oral|港中文开源PoseC3D:基于3D-CNN的骨骼动作识别框架
  17. ‘xxxx’ does not name a type报错处理方法
  18. 《Python神经网络编程》自己动手编写一个神经网络
  19. linux系统基础知识学习笔记
  20. python 解析下载的二进制Excel文件内容

热门文章

  1. 数据驱动「付费转化」的3个思路
  2. Echat 地图样式格式
  3. html学习笔记-用代码画皮卡丘
  4. 云麦体脂秤华为体脂秤_如果是一个真正的体脂秤就好了:华为智能体脂秤
  5. 软件工程毕业设计课题(34)基于JAVA毕业设计JAVA医院预约挂号系统毕设作品项目
  6. Vue3 使用 element-plus 不生效的原因之一
  7. 1335:【例2-4】连通块——dfs、bfs
  8. STK中心天体cb等相关文件说明
  9. 快速通过论文相似度检测
  10. 低代码:正在改变软件的开发方式