数论函数快速幂

数论函数 f ( n ) f(n) f(n)的生成函数是 F ( x ) = ∑ n ≥ 1 f ( n ) n x F(x)=\sum_{n\geq1}f(n)n^x F(x)=n1f(n)nx
发现两个数论函数 f ( x ) , g ( x ) f(x),g(x) f(x),g(x)的生成函数 F ( x ) , G ( x ) F(x),G(x) F(x),G(x)的卷积 H ( x ) H(x) H(x)就是 f ( x ) , g ( x ) f(x),g(x) f(x),g(x)的狄利克雷卷积 h ( x ) h(x) h(x)的生成函数(因为 f ( i ) i x g ( j ) j x f(i)i^xg(j)j^x f(i)ixg(j)jx H ( x ) H(x) H(x)中的 ( i j ) x (ij)^x (ij)x的贡献是 f ( i ) g ( j ) f(i)g(j) f(i)g(j)
数论函数快速幂和多项式快速幂一样,考虑先ln,再exp
ln ⁡ F ( x ) = ∫ F ′ ( x ) F ( x ) \ln F(x)=\int\frac{F'(x)}{F(x)} lnF(x)=F(x)F(x),狄利克雷除法就是考虑狄利克雷卷积,发现 g ( n ) = ( f ∗ g ) ( n ) − ∑ d ∣ n ∧ d < n g ( d ) f ( n d ) g(n)=(f*g)(n)-\sum_{d|n\wedge d<n}g(d)f(\frac nd) g(n)=(fg)(n)dnd<ng(d)f(dn),递推即可。而由于 n x n^x nx的导数为 n x ln ⁡ n n^x\ln n nxlnn,故 F ′ ( x ) = ∑ n ≥ 1 f ( n ) x n ln ⁡ n F'(x)=\sum_{n\geq 1}f(n)x^n\ln n F(x)=n1f(n)xnlnn,但是 l n ln ln大部分时候不是整数,可以用别的函数来代替 l n ln ln,比如可重质因子个数 c n t cnt cnt,因为满足 c n t x c n t y = c n t x y cnt_xcnt_y=cnt_{xy} cntxcnty=cntxy,而积分则是将求导反过来
( exp ⁡ F ( x ) ) ′ = F ′ ( x ) exp ⁡ F ( x ) (\exp F(x))'=F'(x)\exp F(x) (expF(x))=F(x)expF(x),与狄利克雷除法类似,递推一下即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值