bzoj 2440 完全平方數 莫比烏斯函式

2021-08-28 00:00:10 字數 916 閱讀 6657

題目

題意:第ki 個不是完全平方數的正整數倍的數。

對於乙個數t,t以內的數里的非完全平方數倍數的個數:num=1的倍數的數量−乙個質數平方數(9,25,49...)的倍數的數量+兩個質數的積平方數(36,100,225...)的數量−三個質數balabala……

所以u(i)就是莫比烏斯函式

求莫比烏斯函式**:

//遞推

ll mu[100005];

void mobius(ll mn)

}}//main

mobius(100000);

//線性篩法求莫比烏斯函式  

bool check[maxn+10];

int prime[maxn+10];

int mu[maxn+10];

void moblus()

for(int j = 0; j < tot; j++)

else

} }

}

所以**:

#include #include typedef long long ll;

const ll m=100001;

ll t,n,miu[m],pri[m],bo[m],ans;

void makemiu()

for (ll j=1;j<=pri[0] && pri[j]*i}}

}ll check(ll t)

ll getans(ll t)

return r;

}int main()

}

BZOJ 2440 完全平方數(莫比烏斯函式)

這道題需要驚人的聯想能力和很大的腦洞 然後將它聯絡到莫比烏斯函式上。我也是看神犇的部落格的。首先容易想到二分答案,然後判斷當前的滿足條件的數。具體怎樣得出的請大家自己yy吧。include include include includeusing namespace std 利用莫比烏斯函式求值 d...

BZOJ 2440 完全平方數 莫比烏斯反演

bzoj 2440 完全平方數 參考popoqqq神的ppt 首先二分答案 問題轉化為求 1,x 之間有多少個無平方因子數 根據容斥原理可知 對於sqrt x 以內所有的質數 有 x以內的無平方因子數 0個質數乘積的平方的倍數的數的數量 1的倍數 每個質數的平方的倍數的數的數量 9的倍數,25的倍數...

BZOJ 2440 完全平方數

time limit 10 sec memory limit 128 mb submit 966 solved 457 submit status 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而 這絲毫不影...