莫比乌斯反演题目记录

Y Y 的 G C D YY的GCD YYGCD

给 定 N , M , 求 1 ≤ x ≤ N , 1 ≤ y ≤ M 且 gcd ⁡ ( x , y ) 为 质 数 的 ( x , y ) 有 多 少 对 。 给定 N, M,求 1≤x≤N,1≤y≤M 且 \gcd(x,y) 为质数的 (x, y) 有多少对。 N,M,1xN,1yMgcd(x,y)(x,y)

− − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − ---------------------------------
令N <= M
∑ p = 2 N ∑ i = 1 N ∑ j = 1 M [ gcd ⁡ ( i , j ) = p ] 先 不 考 虑 质 数 的 影 响 , 直 接 反 演 一 波 设 f ( x ) = ∑ i = 1 N ∑ j = 1 M [ g c d ( i , j ) = x ] 设 g ( x ) 为 公 约 数 为 x 及 x 的 倍 数 的 数 量 g ( x ) = ∑ i = 1 N ∑ j = 1 M [ x ∣ g c d ( i , j ) ] = ⌊ N x ⌋ ⌊ M x ⌋ f ( x ) = ∑ x ∣ d μ ( d x ) g ( d ) = ∑ x ∣ d μ ( d x ) ⌊ N d ⌋ ⌊ M d ⌋ 显 然 f ( x ) 可 以 数 论 分 块 求 接 下 来 要 考 虑 质 数 , 实 际 上 只 需 要 在 筛 μ 的 时 侯 只 做 素 数 的 前 n 项 和 就 可 以 , 即 非 素 数 时 μ 始 终 为 0 \displaystyle\sum^N_{p=2}\displaystyle\sum^{N}_{i = 1}{\displaystyle\sum^M_{j=1}} [\gcd(i,j)=p] \\先不考虑质数的影响,直接反演一波 \\设f(x) = \sum^N_{i=1}\sum^M_{j=1}[gcd(i,j)=x] \\设g(x)为公约数为x及x的倍数的数量 \\g(x) = \sum^N_{i=1}\sum^M_{j=1}[x|gcd(i,j)] = \lfloor {\frac{N}{x}} \rfloor \lfloor {\frac{M}{x}} \rfloor \\f(x) = \sum_{x|d} \mu(\frac{d}{x})g(d) = \sum_{x|d}\mu(\frac{d}{x})\lfloor {\frac{N}{d}} \rfloor \lfloor {\frac{M}{d}} \rfloor \\显然f(x)可以数论分块求 \\接下来要考虑质数,实际上只需要在筛\mu 的时侯只做素数的前n项和就可以,即非素数时\mu始终为0 p=2Ni=1Nj=1M[gcd(i,j)=p],f(x)=i=1Nj=1M[gcd(i,j)=x]g(x)xxg(x)=i=1Nj=1M[xgcd(i,j)]=xNxMf(x)=xdμ(xd)g(d)=xdμ(xd)dNdMf(x)μnμ0
− − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − ---------------------------------
约数个数和

设 d ( x ) 为 x 的 约 数 个 数 , 给 定 n , m , 求 设 d(x) 为 x 的约数个数,给定 n,m,求 d(x)xn,m
∑ i = 1 n ∑ j = 1 m d ( i ∗ j ) \sum^n_{i=1}\sum^m_{j=1}d(i*j) i=1nj=1md(ij)
引理: d ( x ∗ y ) = ∑ i ∣ x ∑ j ∣ y [ gcd ⁡ ( i , j ) = 1 ] d(x*y) = \sum_{i|x} \sum_{j|y} [\gcd(i,j) =1] d(xy)=ixjy[gcd(i,j)=1]

证明

原 式 化 为 : ∑ x = 1 n ∑ y = 1 m ∑ i ∣ x ∑ j ∣ y [ gcd ⁡ ( i , j ) = 1 ] 转 换 枚 举 项 , 枚 举 i 和 j ∑ i = 1 n ∑ j = 1 m ⌊ n i ⌋ ⌊ m j ⌋ [ gcd ⁡ ( i , j ) = 1 ] 套 路 1 : [ g c d ( i , j ) = 1 ] = ∑ d ∣ g c d ( i , j ) μ ( d ) ∑ i = 1 n ∑ j = 1 m ⌊ n i ⌋ ⌊ m j ⌋ ∑ d ∣ g c d ( i , j ) μ ( d ) 接 下 来 枚 举 d , 此 时 可 以 通 过 变 换 把 g c d ( i , j ) 去 掉 ∑ d = 1 n μ ( d ) ∑ i = 1 n ∑ j = 1 m [ ( d ∣ i ) a n d ( d ∣ j ) ] ⌊ n i ⌋ ⌊ m j ⌋ ∑ d = 1 n μ ( d ) ∑ i = 1 ⌊ n d ⌋ ∑ j = 1 ⌊ m d ⌋ ⌊ n i d ⌋ ⌊ m j d ⌋ 预 处 理 ∑ i = 1 n ⌊ n i ⌋ , 再 数 论 分 块 解 决 即 可 \\原式化为:\sum^n_{x=1}\sum^m_{y=1}\sum_{i|x} \sum_{j|y} [\gcd(i,j) =1] \\转换枚举项,枚举i和j \\\sum^n_{i=1}\sum^m_{j=1} \lfloor \frac{n}{i} \rfloor \lfloor \frac{m}{j} \rfloor [\gcd(i,j)=1] \\套路1:[gcd(i,j)=1] = \sum_{d|gcd(i,j)} \mu(d) \\\sum^n_{i=1}\sum^m_{j=1} \lfloor \frac{n}{i} \rfloor \lfloor \frac{m}{j} \rfloor \sum_{d|gcd(i,j)} \mu(d) \\接下来枚举d,此时可以通过变换把gcd(i,j)去掉 \\\sum^n_{d = 1}\mu(d) \sum_{i = 1}^n\sum_{j = 1}^m[(d|i) and(d|j)]\lfloor \frac{n}{i} \rfloor \lfloor \frac{m}{j} \rfloor \\\sum^n_{d = 1}\mu(d) \sum_{i = 1}^{\lfloor \frac{n}{d} \rfloor}\sum_{j = 1}^{\lfloor \frac{m}{d} \rfloor}\lfloor \frac{n}{id} \rfloor \lfloor \frac{m}{jd} \rfloor \\预处理\sum_{i=1}^n\lfloor \frac{n}{i} \rfloor ,再数论分块解决即可 x=1ny=1mixjy[gcd(i,j)=1]iji=1nj=1minjm[gcd(i,j)=1]1[gcd(i,j)=1]=dgcd(i,j)μ(d)i=1nj=1minjmdgcd(i,j)μ(d)dgcd(i,j)d=1nμ(d)i=1nj=1m[(di)and(dj)]injmd=1nμ(d)i=1dnj=1dmidnjdmi=1nin,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值