筛法

筛法求约数和

  • \(f(i)\)\(i\) 的约数和, \(g(i)\)\(i\) 的最小的质因子的 \(p^0+p^1+p^2+....+p^k\)

  • 线性筛的时候筛到自己最小的质数,如果自己已经是这个质数的倍数,那么

\[g(i\times p)=g(i)\times p+1\\ f(i\times p)=f(i)/g(i)*g(i\times p) \]

  • 否则 \(f(i\times p)=f(i)\times f(p),g(i\times p)=1+p\)

一般积性函数线性筛

  • 可以参照上面的做法,去构造一个 \(g(i)\) 表示对于 \(i\) 的最小质因子的全部幂次 \(p^k\) 的有关 \(f\) 的函数

  • 那么如果被最小的质数筛到,并且这个质数幂次唯一,那么根据积性函数就可以直接乘了,对于 \(g\) 就对应的赋值

  • 否则就需要用到 \(g\) 函数,就像上面的情况一一样

posted @ 2022-06-04 10:21  kzos  阅读(63)  评论(0)    收藏  举报