hfccccccccccccc

  :: :: 博问 :: 闪存 :: :: :: :: 管理 ::

具体可以参考这个博客:https://blog.csdn.net/skywalkert/article/details/50500009

主要就是运用 Dircichlet 卷积降低求积性函数前缀和的复杂度。

如果 Dircichlet 卷积的左边其中一个函数是待求前缀和的,而且卷积的另外两个函数比较好计算前缀和,那么就可以简化计算的过程。

以求 \(\mu\) 函数的前缀和为例,我们知道

\[\mu * I = e \]

那么

\[1=\sum_{i=1}^{n} [i=1] = \sum_{i=1}^{n} \sum_{d|i} \mu(d) = \sum_{i=1}^{n} S(\lfloor{\frac{n}{i}}\rfloor) \\ S(n) = 1 - \sum_{i=2}^{n} S(\lfloor{\frac{n}{i}}\rfloor) \]

记忆化时,有两种方法:

  • map,直观
  • \(O(\sqrt{N})\) 大小的两个数组
posted on 2019-01-02 23:51  hfccccccccccccc  阅读(124)  评论(0编辑  收藏  举报