2021寒假笔记(数论)

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

在这里插入图片描述
判断素数模板

二、分解质因子
Pollard-rho启发式 时间复杂度 O ( n 1 4 ) O(n^\frac{1}{4}) O(n41)
引理:生日悖论
算法流程:
①选取两个随机数 x 0 x_0 x0 c c c
②构造函数 f ( x i ) = ( x i − 1 2 + c ) m o d n f(x_i)=(x_{i-1}^2+c)mod n f(xi)=(xi12+c)modn,设 y = x 2 k y=x_{2^k} y=x2k,不断判断 1 < g c d ( ∣ y − x i ∣ , n ) < n 1<gcd(|y-x_i|,n)<n 1<gcd(yxi,n)<n
∵ \because
在这里插入图片描述
∴ \therefore y = x i y=x_i y=xi 时退出。
④通过 Pollard_rho 求得一个因子,用 Miller_Rabbin 判断是否是质因子。
⑤不断递归判断。
质因数分解模板

三、BSGS
用途:求解方程 y x = z ( m o d   p ) y^x=z(mod\ p) yx=z(mod p) p p p 为素数(本质是 g c d ( y , p ) = 1 ) gcd(y,p)=1) gcd(y,p)=1)
考虑 x = i r − b x=ir-b x=irb,所以 y i r = z × y b ( m o d   p ) y^{ir}=z\times y^b(mod\ p) yir=z×yb(mod p)
所以枚举 b b b,用 hash 记录 y i r y^{ir} yir
r = p r=\sqrt p r=p 时效率最优 O ( n ) O(\sqrt n) O(n )

四、裴蜀定理
方程 ∑ i = 1 n x i × a i = b \sum_{i=1}^nx_i\times a_i=b i=1nxi×ai=b 有整数解的充要条件是 d = g c d ( a 1 , a 2 , . . . , a n ) ∣ b d=gcd(a_1,a_2,...,a_n)|b d=gcd(a1,a2,...,an)b
在这里插入图片描述

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

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

a b   m o d   m = { a b   m o d   φ ( m ) a ⊥ m a b b < φ ( m ) a [ b   m o d   φ ( 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)amb<φ(m)b>φ(m)

m m m 为素数时,即费马小定理 a p − 1 = 1 ( m o d   p ) a^{p-1}=1(mod\ p) ap1=1(mod p)

a ⊥ m a\bot m am 时,即欧拉定理 a φ ( m ) = 1 ( m o d   m ) a^{\varphi(m)}=1(mod\ m) aφ(m)=1(mod m)

b > φ ( m ) b>\varphi(m) b>φ(m) 时:
∵ \because x = y ( m o d   m 1 ) , x = y ( m o d   m 2 ) x=y(mod\ m_1),x=y(mod\ m_2) x=y(mod m1),x=y(mod m2) m 1 ⊥ m 2 m_1\bot m_2 m1m2,则 x = y ( m o d   m 1 × m 2 ) x=y(mod\ m_1\times m_2) x=y(mod m1×m2)
∴ \therefore 只需要对质因数单独考虑。
假设当前考虑到 p i q i p_i^{q_i} piqi,分两种情况:
p i ⊥ a p_i\bot a pia
∵ \because φ ( p i q i ) ∣ φ ( m ) \varphi(p_i^{q_i})|\varphi(m) φ(piqi)φ(m)(欧拉函数是积性函数)
∴ a φ ( m ) = 1 ( m o d   p i q i ) \therefore a^{\varphi(m)}=1(mod\ p_i^{q_i}) aφ(m)=1(mod piqi)
∴ a b = a ⌊ b φ ( m ) ⌋ φ ( m ) + b   m o d   φ ( m ) = a b   m o d   φ ( m ) × 1 = a [ b   m o d   φ ( m ) ] + φ ( m ) ( m o d   p i q i ) \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)
p i ∣ a p_i|a pia
∵ φ ( p i q i ) ∣ φ ( m ) , φ ( p i q i ) > q i \because \varphi(p_i^{q_i})|\varphi(m),\varphi(p_i^{q_i})>q_i φ(piqi)φ(m),φ(piqi)>qi(易证)
∴ b > φ ( m ) > φ ( p i q i ) > q i \therefore b>\varphi(m)>\varphi(p_i^{q_i})>q_i b>φ(m)>φ(piqi)>qi
∴ p i q i ∣ a b , p i q i ∣ a φ ( m ) \therefore p_i^{q_i}|a^b,p_i^{q_i}|a^{\varphi(m)} piqiab,piqiaφ(m)
∴ a b = 0 = a [ b   m o d   φ ( m ) ] + φ ( m ) ( m o d   p i q i ) \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 = a i ( m o d   n i ) x=a_i(mod\ n_i) x=ai(mod ni)
x = a j ( m o d   n j ) x=a_j(mod\ n_j) x=aj(mod nj)
n = ∏ n i , m i = n n i , m i − 1 × m i = 0 ( m o d   n i ) n=\prod n_i,m_i=\frac{n}{n_i},m_i^{-1}\times m_i=0(mod\ n_i) n=ni,mi=nin,mi1×mi=0(mod ni)
x = ∑ a i m i m i − 1 x=\sum a_im_im_i^{-1} x=aimimi1
②ex
x = a i ( m o d   n i ) x=a_i(mod\ n_i) x=ai(mod ni)
x = a j ( m o d   n j ) x=a_j(mod\ n_j) x=aj(mod nj)
∴ \therefore
x = p × n i + a i = q × n j + a j x=p\times n_i+a_i=q\times n_j+a_j x=p×ni+ai=q×nj+aj
p × n i − q × n j = a j − a i p\times n_i-q\times n_j=a_j-a_i p×niq×nj=ajai
∵ e x g c d \because exgcd exgcd
∴ = > p , q , x \therefore=> p,q,x =>p,q,x
∴ x = n i × p + a i ( m o d   l c m ( n i , n j ) ) \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

C n m m o d    p = C ⌊ n p ⌋ ⌊ m p ⌋ × C n m o d    p m m o d    p m o d    p C_n^m\mod p=C_{\lfloor \frac{n}{p}\rfloor}^{\lfloor \frac{m}{p}\rfloor}\times C_{n\mod p}^{m\mod p}\mod p Cnmmodp=Cpnpm×Cnmodpmmodpmodp
证明:
∵ x p = x m o d    p , C p m = 0 m o d    p ( 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 = ∑ C p i x i = 1 + x p m o d    p ( 1 + x ) n = ( 1 + x ) ⌊ n p ⌋ × p × ( 1 + x ) n m o d    p ∑ C n i x i = ( ∑ C ⌊ n p ⌋ j x p ) × ( ∑ C n m o d    p k x k ) (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=Cpixi=1+xpmodp(1+x)n=(1+x)pn×p×(1+x)nmodpCnixi=(Cpnjxp)×(Cnmodpkxk)
当且仅当 j = ⌊ n p ⌋ , k = n m o d    p j=\lfloor \frac{n}{p}\rfloor,k=n\mod p j=pn,k=nmodp 时系数相等,即得证。

exLucas:
首先把 p p p 分解:
p = ∏ p i k i p=\prod p_i^{k_i} p=piki这样就可以单独处理质因子,最后用 CRT 解决。
考虑如何计算: C n m m o d    p k C_n^m\mod p^{k} Cnmmodpk
C n m = n ! p a m ! p b × ( n − m ) ! p c × p a − b − c C_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(nm)!pan!×pabc即为求解 n ! p a \frac{n!}{p^a} pan!
展开,如 19 ! m o d    3 2 = 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)
= 3 6 × ( 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 × 8 2\times4\times 5\times 7\times 8 2×4×5×7×8,可以 O ( p k ) O(p^k) O(pk) 暴力计算,再快速幂计算循环节。前面阶乘递归计算。

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

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

②构造 j = ⌊ n k ⌋ j=\lfloor \frac{n}{k}\rfloor j=kn,则 j j j ⌊ n i ⌋ = k \lfloor \frac{n}{i}\rfloor=k in=k 中最大的。
证明:
j = ⌊ n k ⌋ , ⌊ n j ⌋ = ⌊ n ⌊ n i ⌋ ⌋ ≥ ⌊ n n i ⌋ = i j=\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=i j=kn,jn=inninn=i

∵ ⌊ n i ⌋ = k \because \lfloor \frac{n}{i}\rfloor=k in=k
∴ k ≤ n i < k + 1 , 1 k + 1 < i n ≤ 1 k , i ≤ n k \therefore k\leq\frac{n}{i} <k+1,\frac{1}{k+1}<\frac{i}{n}\leq\frac{1}{k},i\leq\frac{n}{k} kin<k+1,k+11<nik1,ikn
∵ k ∣ n , j = n k \because k|n,j=\frac{n}{k} kn,j=kn
∴ i m a x = j \therefore i_{max}=j imax=j

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

十二、莫比乌斯反演

证明来源
ϵ = μ ∗ 1 \epsilon=\mu*1 ϵ=μ1
证明:
设: n = ∏ i m p i k i n=\prod_i^m p_i^{k_i} n=impiki因为性质,所以
μ ∗ 1 \mu*1 μ1
= C m 0 − C m 1 + C m 2 − C m 3 . . . =C_m^0-C_m^1+C_m^2-C_m^3... =Cm0Cm1+Cm2Cm3...
= ∑ ( − 1 ) i C m i =\sum(-1)^iC_m^i =(1)iCmi
= 0 m =0^m =0m
得证。
g = f ∗ 1 , g ∗ μ = f ∗ 1 ∗ μ = f ∗ ϵ g=f*1,g*\mu=f*1*\mu=f*\epsilon g=f1,gμ=f1μ=fϵ
∴ f = g ∗ μ \therefore f=g*\mu f=gμ
形式化为:
f ( n ) = ∑ d ∣ n g ( d ) × μ ( n d ) f(n)=\sum_{d|n}g(d)\times \mu(\frac{n}{d}) f(n)=dng(d)×μ(dn)
常见函数及性质:
σ k ( n ) = ∑ d ∣ n d k , σ 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)=dndk,σ0(n)=τ(n),σ1(n)=σ(n)
加性函数: f ( a b ) = f ( a ) + f ( b ) f(ab)=f(a)+f(b) f(ab)=f(a)+f(b)

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

线性筛积性函数:
推导思路:
例:如 F ( n ) = ∑ d ∣ n d φ ( d ) F(n)=\sum_{d|n}d\varphi(d) F(n)=dndφ(d)先考虑单个质数幂的:
F ( p k ) = ∑ i k p i × p i − 1 ( p − 1 ) F(p^k)=\sum_{i}^kp^i\times p^{i-1}(p-1) F(pk)=ikpi×pi1(p1)可得: F ( p k + 1 ) = F ( p k ) + p 2 k + 1 ( p − 1 ) F(p^{k+1})=F(p^k)+p^{2k+1}(p-1) F(pk+1)=F(pk)+p2k+1(p1)这时再考虑线性筛的过程处理 F ( i × p ) F(i\times p) F(i×p) F ( i ) F(i) F(i) 的关系。
i ⊥ p i\bot p ip,直接算 F ( i × p ) = F ( i ) × F ( p ) F(i\times p)=F(i)\times F(p) F(i×p)=F(i)×F(p)
p ∣ i p|i pi,那么设 i = a × p k i=a\times p^k i=a×pk 可得:
F ( i × p ) = F ( p k × a × p ) = F ( a ) × F ( p k + 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 ( p k ) F(i)=F(a)\times F(p^k) F(i)=F(a)×F(pk)相减得:
F ( i × p ) − F ( i ) = F ( a ) × p 2 k + 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×(p1)同理:
F ( i ) − F ( i p ) = F ( a ) × p 2 k − 1 × ( p − 1 ) F(i)-F(\frac{i}{p})=F(a)\times p^{2k-1}\times (p-1) F(i)F(pi)=F(a)×p2k1×(p1)相除得
F ( i × p ) = F ( i ) + p 2 × ( F ( i ) − F ( i p ) ) 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、 [ g c d ( i , j ) = = 1 ] = μ ∗ 1 ( g c d ( 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 = i d \varphi *1=id φ1=id,求 g c d ( i , j ) gcd(i,j) gcd(i,j) 时替换成求 ∑ d ∣ i , d ∣ j φ ( d ) \sum_{d|i,d|j}\varphi(d) di,djφ(d)
5、例如 ∑ d ∣ i , d ∣ j f ( d ) \sum_{d|i,d|j}f(d) di,djf(d) 或者 ∑ d ∣ gcd ⁡ ( i , j ) \sum_{d|\gcd(i,j)} dgcd(i,j) 时把 d d d 提前,把 i , j i,j i,j全部除掉 d d d
6、出现两个无强相互限制的函数且可卷时如 : ∑ d n d ∑ t ⌊ n d ⌋ μ ( t ) \sum_{d}^nd\sum_t^{\lfloor \frac{n}{d}\rfloor}\mu(t) dndtdnμ(t)可以考虑枚举 T = d t T=dt T=dt 构造 ∑ T n ∑ d ∣ T d × μ ( T d ) \sum_T^n\sum_{d|T}d\times \mu(\frac{T}{d}) TndTd×μ(dT)这时再用 φ = μ ∗ i d \varphi=\mu*id φ=μid 计算。
7、出现 g ( n ) = ∑ n ∣ d f ( d ) g(n)=\sum_{n|d}f(d) g(n)=ndf(d) 时,且 f ( n ) f(n) f(n) 不好求但 g ( n ) g(n) g(n) 好求,可以转化为 f ( n ) = ∑ n ∣ d μ ( d n ) g ( d ) f(n)=\sum_{n|d}\mu(\frac{d}{n})g(d) f(n)=ndμ(nd)g(d)。思路类似容斥。

特殊形式:倍数反演
g ( n ) = ∑ n ∣ d f ( d ) , f ( n ) = ∑ n ∣ d μ ( d n ) g ( d ) g(n)=\sum_{n|d}f(d),f(n)=\sum_{n|d}\mu(\frac{d}{n})g(d) g(n)=ndf(d),f(n)=ndμ(nd)g(d) ∑ n ∣ d g ( d n ) μ ( d ) \sum_{n|d}g(\frac{d}{n})\mu(d) ndg(nd)μ(d)
= ∑ k + ∞ g ( k n ) μ ( k ) =\sum_{k}^{+\infty}g(kn)\mu(k) =k+g(kn)μ(k)
= ∑ k + ∞ μ ( k ) ∑ k n ∣ d f ( d ) =\sum_{k}^{+\infty}\mu(k)\sum_{kn|d}f(d) =k+μ(k)kndf(d)
= ∑ n ∣ d f ( d ) ∑ k ∣ d n μ ( k ) =\sum_{n|d}f(d)\sum_{k|\frac{d}{n}}\mu(k) =ndf(d)kndμ(k)
= ∑ n ∣ d f ( d ) ϵ ( d n ) =\sum_{n|d}f(d)\epsilon(\frac{d}{n}) =ndf(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 ) = ∑ i n t ( i ) g ( ⌊ n i ⌋ ) f(n)=\sum_i^nt(i)g(\lfloor \frac{n}{i}\rfloor) f(n)=int(i)g(in)等价于 g ( n ) = ∑ i n μ ( i ) t ( i ) f ( ⌊ n i ⌋ ) g(n)=\sum_i^n\mu(i)t(i)f(\lfloor \frac{n}{i}\rfloor) g(n)=inμ(i)t(i)f(in)证明:咕咕。
例题:
约数个数和
Problem b
GCDLCM
求和(未)
KC学数论(未)
十三、杜教筛
S ( n ) = ∑ i f ( i ) S(n)=\sum_if(i) S(n)=if(i)
考虑 ∑ i f ∗ g ( i ) = ∑ i ∑ x y = i f ( x ) g ( y ) = ∑ y g ( y ) ∑ x ⌊ n y ⌋ f ( x ) = ∑ y g ( y ) S ( ⌊ n y ⌋ ) \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) ifg(i)=ixy=if(x)g(y)=yg(y)xynf(x)=yg(y)S(yn)
这样可得 g ( 1 ) S ( n ) = ∑ i f ∗ g ( i ) − ∑ y = 2 n g ( y ) S ( ⌊ n y ⌋ ) g(1)S(n)=\sum_if*g(i)-\sum_{y=2}^ng(y)S(\lfloor \frac{n}{y}\rfloor) g(1)S(n)=ifg(i)y=2ng(y)S(yn)
只要 f ∗ g , g f*g,g fg,g 前缀和很好求,那么预处理 O ( n 2 3 ) O(n^{\frac{2}{3}}) O(n32) 之后得再数论分块+记忆化搜索即可轻松过掉 1 0 10 10^{10} 1010 的数据。
例题:
最大公约数

十四、原根

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值