【总结】积性函数前缀和(杜教筛)

前言:

据CCH和LJH说,杜教筛似乎是一个非常套路的东西,几乎所有的杜教筛的题目推理方式都是一模一样的(但实测有些推理还是很恶心的)。所以复习杜教筛不需要太多时间,粗略看一遍,留下印象即可。


杜教筛其实是一种简化运算的推理方式,它的使用条件并不仅限于积性函数(?),只是积性函数可以将复杂度进一步优化。

例题:求欧拉函数前缀和

因为杜教筛是一种推理方式,所以直接给出例题反而容易上手。
欧拉函数的定义这里就不再赘述。
需要知道的是欧拉函数 (φ) ( φ ) 的一个特殊性质:

d|nφ(d)=n ∑ d | n φ ( d ) = n

形如 d|nf(d)=A ∑ d | n f ( d ) = A 这个性质是极为重要的,我们整个算法都是基于这个性质而来。

下面开始推导:

φ(n)=nd|n,d<nφ(d) φ ( n ) = n − ∑ d | n , d < n φ ( d )

那么
i=1inφ(i)=i=1in(id|i,d<iφ(d)) ∑ i = 1 i ≤ n φ ( i ) = ∑ i = 1 i ≤ n ( i − ∑ d | i , d < i φ ( d ) )

现在我们改变枚举变量:我们枚举 id i d 的值,即枚举i对d的倍数,因为i≠d,所以从2开始
i=1inφ(i)=n(n+1)2
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值