zoukankan      html  css  js  c++  java
  • 洛谷 P4213 【模板】杜教筛(Sum)

    [sum_{i=1}^{n} mu(i)\ sum_{i=1}^{n} varphi(i)\ ]

    杜教筛模板:

    [S(n) = sum_{i=1}^{n} f(i)\ sum_{i=1}^{n} sum_{d|i} f(d) * g(frac{i}{d})\ =sum_{i=1}^{n} g(i) sum_{d=1}^{lfloor frac{n}{i} floor} f(d)\ =sum_{i=1}^{n} g(i) S(lfloor frac{n}{i} floor)\ g(1)S(n) =sum_{i=1}^{n} g(i) S(lfloor frac{n}{i} floor) - sum_{i=2}^{n} g(i) S(lfloor frac{n}{i} floor) ]

    具体分析:

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

    [S2(n) = sum_{i=1}^{n}phi(i)\ g = 1\ g(1)S(n) =sum_{i=1}^{n} g(i) S(lfloor frac{n}{i} floor) - sum_{i=2}^{n} g(i) S(lfloor frac{n}{i} floor)\ S2(n) =sum_{i=1}^{n} sum_{d|i}phi(d) - sum_{i=2}^{n} S2(lfloor frac{n}{i} floor)\ S2(n) =sum_{i=1}^{n} i- sum_{i=2}^{n} S2(lfloor frac{n}{i} floor)\ S2(n) =frac{n*(n + 1)}{2} - sum_{i=2}^{n} S2(lfloor frac{n}{i} floor)\ ]

    其中:

    [sum_{d|n}^{n} mu(d) = [n = 1]\ sum_{d|n}^{n} phi(d) = n\ ]

    上面的式子前半部分可以直接得出,后面的用数论分块+递归解决。

  • 相关阅读:
    常用数据结构之字符串
    c++知识点总结--友元&运算符重载
    c++知识点总结-模板特化
    c++知识点总结--new的一些用法
    linux socket c/s上传文件
    STL之算法使用简介
    【bzoj2733】 HNOI2012—永无乡
    【bzoj3132】 Sdoi2013—森林
    【bzoj1483】 HNOI2009—梦幻布丁
    【bzoj3091】 城市旅行
  • 原文地址:https://www.cnblogs.com/zzhzzh123/p/13374204.html
Copyright © 2011-2022 走看看