Number Challenge

本文详细证明了数论中关于最大公约数的两个引理,引理111和引理222,展示了如何将因数分解与最大公约数结合以计算乘积的因数个数。通过逐步化简表达式,揭示了计算过程的时间复杂度,特别是针对部分子问题的时间复杂度分析,指出当因子分块时的时间复杂度为O(n^{frac{5}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引理 111
d(i⋅j)=∑x∣i∑y∣j[gcd⁡(x,y)=1] d (i \cdot j) = \sum_{x \mid i} \sum_{y \mid j} [\gcd (x,y) = 1] d(ij)=xiyj[gcd(x,y)=1]

证明:

一对满足要求的 x,yx, yx,y 可以构造出 xjyx \frac{j}{y}xyj 作为 ijijij 的因数。

考虑 ijijij 的质因子 ppp

gcd⁡(x,y)=1\gcd (x, y) = 1gcd(x,y)=1 表示都在 jjj 里取出 ppp 这个因子,只有在 jjjppp 这个因子被取空后才能拿 iii 里的 ppp 这个因子,所以不会出现类似于从 iii 里取出一个 ppp 再从 jjj 取出一个 ppp 和从 jjj 里取出两个 ppp 这两种等价方案都算了一次的情况。

引理 222:

d(i⋅j⋅k)=∑x∣i∑y∣j∑z∣k[gcd(x,y)=gcd(y,z)=gcd(x,z)=1]d (i \cdot j \cdot k) = \sum_{x \mid i} \sum_{y \mid j} \sum_{z \mid k} [gcd (x, y) = gcd (y, z) = gcd (x, z) = 1]d(ijk)=xiyjzk[gcd(x,y)=gcd(y,z)=gcd(x,z)=1]

证明:类似于引理 111


化式子

∑i=1a∑j=1b∑k=1cd(i⋅j⋅k)∑i=1a∑j=1b∑k=1c∑u∣i∑v∣j∑w∣k[gcd(u,v)=gcd(u,w)=gcd(v,w)=1]∑u=1a∑v=1b∑w=1c⌊au⌋⌊bv⌋⌊cw⌋[gcd(u,v)=gcd(u,w)=gcd(v,w)=1]∑u=1a∑v=1b∑w=1c⌊au⌋⌊bv⌋⌊cw⌋∑d∣gcd(u,v)μ(d)[gcd(u,w)=gcd(v,w)=1]∑u=1a∑v=1b∑w=1c⌊au⌋⌊bv⌋⌊cw⌋∑d∣u,d∣vμ(d)[gcd(u,w)=gcd(v,w)=1]∑dμ(d)∑u=1⌊ad⌋∑v=1⌊bd⌋∑w=1c⌊aud⌋⌊bvd⌋⌊cw⌋[gcd(ud,w)=gcd(vd,w)=1]∑dμ(d)∑w=1c⌊cw⌋∑u=1⌊ad⌋⌊aud⌋[gcd(ud,w)=1]∑v=1⌊bd⌋⌊bvd⌋[gcd(vd,w)=1] \begin{aligned} \sum_{i = 1}^{a} \sum_{j = 1}^{b} \sum_{k = 1}^{c} d (i \cdot j \cdot k) \\ \sum_{i = 1}^{a} \sum_{j = 1}^{b} \sum_{k = 1}^{c} \sum_{u \mid i} \sum_{v \mid j} \sum_{w \mid k} [gcd (u, v) = gcd (u, w) = gcd (v, w ) = 1] \\ \sum_{u = 1}^{a} \sum_{v = 1}^{b} \sum_{w = 1}^{c} \lfloor \frac{a}{u} \rfloor \lfloor \frac{b}{v} \rfloor \lfloor \frac{c}{w} \rfloor [gcd (u, v) = gcd (u, w) = gcd (v, w ) = 1] \\ \sum_{u = 1}^{a} \sum_{v = 1}^{b} \sum_{w = 1}^{c} \lfloor \frac{a}{u} \rfloor \lfloor \frac{b}{v} \rfloor \lfloor \frac{c}{w} \rfloor \sum_{d \mid gcd (u, v)} \mu (d) [gcd (u, w) = gcd (v, w ) = 1] \\ \sum_{u = 1}^{a} \sum_{v = 1}^{b} \sum_{w = 1}^{c} \lfloor \frac{a}{u} \rfloor \lfloor \frac{b}{v} \rfloor \lfloor \frac{c}{w} \rfloor \sum_{d \mid u, d \mid v} \mu (d) [gcd (u, w) = gcd (v, w) = 1] \\ \sum_{d} \mu (d) \sum_{u = 1}^{\lfloor \frac{a}{d} \rfloor} \sum_{v = 1}^{\lfloor \frac{b}{d} \rfloor} \sum_{w = 1}^{c} \lfloor \frac{a}{ud} \rfloor \lfloor \frac{b}{vd} \rfloor \lfloor \frac{c}{w} \rfloor [gcd (ud, w) = gcd (vd, w) = 1] \\ \sum_{d} \mu (d) \sum_{w = 1}^{c} \lfloor \frac{c}{w} \rfloor \sum_{u = 1}^{\lfloor \frac{a}{d} \rfloor} \lfloor \frac{a}{ud} \rfloor [gcd (ud, w) = 1] \sum_{v = 1}^{\lfloor \frac{b}{d} \rfloor} \lfloor \frac{b}{vd} \rfloor [gcd (vd, w) = 1] \end{aligned} i=1aj=1bk=1cd(ijk)i=1aj=1bk=1cuivjwk[gcd(u,v)=gcd(u,w)=gcd(v,w)=1]u=1av=1bw=1cuavbwc[gcd(u,v)=gcd(u,w)=gcd(v,w)=1]u=1av=1bw=1cuavbwcdgcd(u,v)μ(d)[gcd(u,w)=gcd(v,w)=1]u=1av=1bw=1cuavbwcdu,dvμ(d)[gcd(u,w)=gcd(v,w)=1]dμ(d)u=1dav=1dbw=1cudavdbwc[gcd(ud,w)=gcd(vd,w)=1]dμ(d)w=1cwcu=1dauda[gcd(ud,w)=1]v=1dbvdb[gcd(vd,w)=1]


qry1(d,w)=∑u=1⌊ad⌋⌊aud⌋[gcd(ud,w)=1],qry2(d,w)=∑v=1⌊bd⌋⌊bvd⌋[gcd(vd,w)=1] qry1 (d, w) = \sum_{u = 1}^{\lfloor \frac{a}{d} \rfloor} \lfloor \frac{a}{ud} \rfloor [gcd (ud, w) = 1], qry2 (d, w) = \sum_{v = 1}^{\lfloor \frac{b}{d} \rfloor} \lfloor \frac{b}{vd} \rfloor [gcd (vd, w) = 1] qry1(d,w)=u=1dauda[gcd(ud,w)=1]qry2(d,w)=v=1dbvdb[gcd(vd,w)=1]
直接暴力求 qry1,qry2qry1, qry2qry1,qry2 的时间复杂度为 O(n52)O (n ^ {\frac{5}{2}})O(n25) (令 a,b,c,na, b, c, na,b,c,n 同阶)

证明:

d≤ad \leq \sqrt {a}da 时,1≤w,u≤a1 \leq w, u \leq a1w,ua,这部分时间复杂度为 O(n52)O (n ^ {\frac{5}{2}})O(n25)

d>ad > \sqrt {a}d>a 时,1≤w≤a,1≤⌊ad⌋≤sqrt(a)1 \leq w \leq a, 1\leq \lfloor \frac{a}{d} \rfloor \leq sqrt (a)1wa,1dasqrt(a),这部分时间复杂度为 O(n52)O (n ^ {\frac{5}{2}})O(n25)


又是推错的一些没用的式子
∑i=1a∑j=1b∑k=1cd(ijk)∑i=1a∑j=1b∑k=1c∑d∣ijk1∑i=1a∑j=1b∑d∑k=1,d∣ijkc1∑i=1a∑j=1b∑d⌊cdgcd⁡(d,ij)⌋∑i=1a∑j=1b∑d⌊c⋅gcd⁡(d,ij)d⌋∑i=1a∑g∑d⌊c⋅gd⌋∑j=1b[gcd⁡(d,ij)=g]∑i=1a∑g∑d⌊c⋅gd⌋∑j=1b[gcd⁡(dg,ijg)=1]∑g∑d⌊c⋅gd⌋∑t∑i=1,i∣ta[gcd⁡(dg,tg)=1] \begin{aligned} \sum_{i = 1}^{a}\sum_{j = 1}^{b} \sum_{k = 1}^{c} d (ijk) \\ \sum_{i = 1}^{a}\sum_{j = 1}^{b} \sum_{k = 1}^{c} \sum_{d \mid ijk} 1 \\ \sum_{i = 1}^{a}\sum_{j = 1}^{b} \sum_{d} \sum_{k = 1, d \mid ijk}^{c} 1 \\ \sum_{i = 1}^{a}\sum_{j = 1}^{b} \sum_{d} \lfloor \frac{c}{\frac{d}{\gcd (d, ij)}} \rfloor \\ \sum_{i = 1}^{a}\sum_{j = 1}^{b} \sum_{d} \lfloor \frac{c \cdot \gcd (d, ij)}{d} \rfloor \\ \sum_{i = 1}^{a} \sum_{g} \sum_{d} \lfloor \frac{c \cdot g}{d} \rfloor \sum_{j = 1}^{b}[\gcd (d, ij) = g] \\ \sum_{i = 1}^{a} \sum_{g} \sum_{d} \lfloor \frac{c \cdot g}{d} \rfloor \sum_{j = 1}^{b}[\gcd (\frac{d}{g}, \frac{ij}{g}) = 1] \\ \sum_{g} \sum_{d} \lfloor \frac{c \cdot g}{d} \rfloor \sum_{t} \sum_{i = 1, i \mid t}^{a} [\gcd (\frac{d}{g}, \frac{t}{g}) = 1] \end{aligned} i=1aj=1bk=1cd(ijk)i=1aj=1bk=1cdijk1i=1aj=1bdk=1,dijkc1i=1aj=1bdgcd(d,ij)dci=1aj=1bddcgcd(d,ij)i=1agddcgj=1b[gcd(d,ij)=g]i=1agddcgj=1b[gcd(gd,gij)=1]gddcgti=1,ita[gcd(gd,gt)=1]

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值