莫比乌斯反演学习笔记


  • 整 除 分 块 整除分块

Q : Q: Q: 请以 O ( N ) O(\sqrt{N}) O(N ) 的时间复杂度求解下式 ↓ ↓ ∑ i = 1 N ⌊ N i ⌋ \sum_{i=1}^N\lfloor\frac{N}{i}\rfloor i=1NiN

A : A: A: ⌊ N i ⌋ \lfloor\frac{N}{i}\rfloor iN 这个数列是 呈块状连续分布 的, 设某个块的 左端点 l l l, 则这个块的 右端点 N N / l \frac{N}{N/l} N/lN (向下取整略) ,
于是该块的和为 ( r − l + 1 ) ∗ ⌊ N l ⌋ (r-l+1)*\lfloor\frac{N}{l}\rfloor (rl+1)lN,

代码很简短:

for(reg int l = 1, r; l <= N; l = r+1){
   
		r = N/(N/l);
   		tmp += (r-l+1)*(N/l);
}

  • 莫 比 乌 斯 函 数 莫比乌斯函数

定 义 : 定义: :

n = p 1 k 1 ∗ p 2 k 2 . . . . . . p m k m n=p_1^{k_1}*p_2^{k_2}......p_m^{k_m} n=p1k1p2k2......pmkm

μ ( n ) = { 1                 n = 1 ( − 1 ) m        ∏ i = 1 m k i = 1 0                  e l s e \mu(n)= \begin{cases} 1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ n=1 \\ (-1)^m \ \ \ \ \ \ \prod_{i=1}^mk_i=1\\ 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ else \end{cases} μ(n)=1               n=1(1)m      i=1mki=10                else

可以看出有 单 个 质 因 子 的 幂 数 超 过 1 单个质因子的幂数超过1 1 的数字 莫比乌斯函数 值为 0 0 0 .


性 质 : 性质: :

性 质 1 : 性质1: 1: 莫比乌斯函数是 积性函数 :

μ ( a ∗ b ) = μ ( a ) ∗ μ ( b )         g c d ( a , b ) = 1 \mu(a*b)=\mu(a)*\mu(b)\ \ \ \ \ \ \ gcd(a,b)=1 μ(ab)=μ(a)μ(b)       gcd(a,b)=1

根据这个性质, 可以 O ( N ) O(N) O(N) 进行 线性筛,

  • 若当前数字 i i i 为质数, μ ( i ) = − 1 \mu(i)=-1 μ(i)=1,

  • i % p j   = = 0 i\%p_j\ == 0 i%pj ==0, 说明 i ∗ p j i*p_j ipj 已经含有幂数大于 1 1 1的质因子, 所以 μ ( i ∗ p j ) = 0 \mu(i*p_j)=0 μ(ipj)=0,

  • 否则说明 i i i 的质因子与 p j p_j pj 共同构成 i ∗ p j i*p_j ipj的质因子,
    于是 μ ( i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值