zoukankan      html  css  js  c++  java
  • 数论进阶

    https://zybuluo.com/ysner/note/1110341

    数论分块

    求解(sum_{i+1}^nlfloorfrac{n}{i} floor)
    据观察,(lfloorfrac{n}{i} floor)的取值只有(sqrt{n})个。
    定理:若有一个值(i),那么数论分块中其同值上界为(ceil=lfloorfrac{n}{lfloorfrac{n}{i} floor} floor)
    即在([i,ceil])这一段区间内,(lfloorfrac{n}{i} floor)的取值是一样的,于是可计算整块贡献。

    int l = 1 , r , ans = 0;
    while(l<=n){
        r = n/(n/l);    
        ans += (r-l+1)*(n/i);
        l = r + 1;
    }
    

    莫比乌斯反演

    莫比乌斯反演有两种形式。。。

    第一种

    如果我们有函数(f(x)),以及(g(x)),并且有$$g(x)=sum_{dmid x}f(d)$$
    那么,我们就有

    [f(x)=sum_{dmid x}mu (frac{x}{d})g(d) ]

    第二种

    如果我们有函数(f(x)),以及(g(x)),并且有:$$g(x)=sum^n_{xmid d}f(d)$$
    其中(n)是我们限定的一个范围
    那么我们可以得到:

    [f(x)=sum_{xmid d}^nmu(frac{d}{x})g(d) ]

    至于(mu)函数,叫做莫比乌斯函数。

    一个数(a),若其有质因子次数为(2)及以上,(mu(a)=0)
    否则,若其有偶数个质因子,(mu(a)=1)
    否则,若其有奇数个质因子,(mu(a)=-1)

    至于运用?留个坑,以后写总结吧。

  • 相关阅读:
    「manacher」
    「回文自动机」
    「可持久化数据结构(平衡树、trie树、线段树) 」
    「后缀数组」
    「LCT」
    「网络流」
    「一些知识点」
    「至今不会」
    「推荐博客」
    「最小生成树」
  • 原文地址:https://www.cnblogs.com/yanshannan/p/8821900.html
Copyright © 2011-2022 走看看