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

//--莫比乌斯反演函数--////说明:利用线性素数筛选顺便求了个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<N;i++)
    {
if(mark[i] == 0)
        {
            prime[pcnt++] = i;
            mu[i]= -1;
        }
for(int j=0;j<pcnt && i*prime[j]<N;j++)
        {
int tmp = i*prime[j];
            mark[tmp]= 1;
if( i%prime[j] == 0 )
            {
                mu[tmp]= 0;
break;
            }
            
            mu[tmp]= mu[i]*-1;
        }
    }
//    for(int i=1;i<N;i++)
//        sum[i] += sum[i-1]+mu[i];}



//long long gaobili(int b,int d)
//{
//    if(b<=0||d<=0) return 0;
//    int m = min(b,d);
//    long long ans = 0;
//    while(m>=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];

新闻标题:莫比乌斯反演模版-创新互联
链接地址:https://www.cdcxhl.com/article18/cegcgp.html

成都网站建设公司_创新互联,为您提供网站设计网站建设微信小程序标签优化商城网站外贸建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设