BZOJ4916 神犇和蒟蒻 杜教篩

2022-04-30 05:12:08 字數 1112 閱讀 2700

$$\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...