莫比乌斯反演模版-创新互联

//--莫比乌斯反演函数--////说明:利用线性素数筛选顺便求了个mu
//注释部分为求从区间[1,b]和区间[1,d]中取两个数,互质对数O(n^0.5)
//复杂度:O(n)int mu[N];
//int sum[N];void mobus()
{
bool mark[N];
int prime[N];
int pcnt=0;
    memset(mark,0,sizeof(mark));
    mu[1] = 1;
for(int i=2;i=1)
//    {
//        int tb = b/( b/m +1 )+1;
//        int td = d/( d/m +1 )+1;
//   //前进的大位置
//        int tm = max(tb,td);
//        ans += (long long)(sum[m]-sum[tm-1])*(b/m)*(d/m);
//        m = tm-1;
//    }
//    return ans;
//}

代码量超少的求一些特别情况的mobus,复杂度O( nlog(n) )

创新互联公司是一家集网站建设,和静企业网站建设,和静品牌网站建设,网站定制,和静网站建设报价,网络营销,网络优化,和静网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

for (int i = 1; i <= n; i++)
      g[i]= f[i];
for (int i = 1; i <= n; i++)
for (int j = i + i; j <= n; j += i)
          g[j]-= g[i];

分享文章:莫比乌斯反演模版-创新互联
网页网址:http://abwzjs.com/article/cegcgp.html