求
$$\sum_^n \mu(i^2)$$
$$\sum_^n \phi(i^2)$$
$n \leqslant 10^9$
zz的我看第一問看了10min。
感覺自己智商被侮辱了qwq
基礎太垃圾qwq。
算了正經點吧,第一問答案肯定是$1$,還不明白的重學反演吧。
第二問其實也不難
定理:$\phi(i^2) = i\phi(i)$
$\sum_ \phi(d) = n$
顯然$i$
考慮杜教篩的套路式子
$$g(1)s(n) = \sum_^n g(i)s(\frac) - \sum_^n g(i)s(\frac)$$
當我們選擇$g(i) = id(i) = i$時卷積的字首和是比較好算的
$(g * s)(i) = \sum_^n i^2 = \frac$
然後上杜教篩就行了
$$s(n) = \frac - \sum_^n i \phi(\frac)$$
人傻自帶大常數
#include#include#define ll long long
using
namespace
std;
const
int maxn = 1e7 + 10, mod = 1e9 + 7
;const ll inv = 166666668
;int
n, prime[maxn], vis[maxn], tot;
ll phi[maxn];
mapans;
void getphi(int
n) phi[i * prime[j]] = phi[i] *phi[prime[j]];}}
for(int i = 1; i <= n; i++) phi[i] = (1ll * i * phi[i] % mod + phi[i - 1] % mod) %mod;
}ll query(ll x)
ll s(ll n)
return ans[n] = (sum % mod + mod) %mod;
}int
main()
bzoj 4916 神犇和蒟蒻 杜教篩
求a ni 1 i 2 和b ni 1 i2 n 1e9,答案模1e9 7 md第一問是什麼鬼?第二問想到是杜教篩 因為不會洲閣篩 但是沒想到用哪個函式和f卷起來。其實考慮到f d d d 要把常數消掉的話,最好就是把f和g d d 卷起來,然後就可以得到 i 1n j if j g ij i 1n...
bzoj4916神犇和蒟蒻 杜教篩
題意 求sigma mu i 2 和sigma phi i 2 這題以前剛學杜教篩的時候就想過沒想到真的有人考出來了 mu的那個明顯怎麼都是1.phi的那個拆開就是phi i i 線性求的時候順便搞一下然後就和求sigma phi i 沒什麼區別了。include include include d...
bzoj4916 神犇和蒟蒻 杜教篩
題面 傳送門一句話,就是讓你求 mu left i 2 right 以及 varphi left i 2 right 的字首和 思路 第一問,瞪了一會兒恍然大悟 這不就是1嗎.因為對於 mu left i 2 right i 2 i ast i 那麼 mu left i 2 right 在 i ne...