bzoj 4916 神犇和蒟蒻 杜教篩

2021-08-02 03:55:16 字數 1433 閱讀 9509

求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∑

j|ig

(j)f

(ij)

容易發現左邊等於∑i

=1ni

∗∑j|

iφ(j

)=∑i

=1ni

2=n∗

(n+1

)∗(2

n+1)

6 右邊的話,化簡一下可以得到∑d

=1ng

(d)∗

∑i=1

⌊nd⌋

f(i)

=∑d=

1nd∗

s(⌊n

d⌋)

合併一下s(

n)=n

∗(n+

1)∗(

2n+1

)6−∑

d=2n

d∗s(

⌊nd⌋

) 直接上分塊**即可。

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

int n=10000005;

const

int mod=1000000007;

int n,s[n],phi[n],prime[n/10],tot;

bool not_prime[n];

map w;

void get_prime(int n)

phi[i*prime[j]]=phi[i]*(prime[j]-1);}}

for (int i=1;i<=n;i++) s[i]=(s[i-1]+(ll)i*phi[i]%mod)%mod;

}int solve(int n)

ans=((ll)n*(n+1)%mod*(n*2+1)%mod*166666668%mod-ans+mod)%mod;

w[n]=ans;

return ans;

}int main()

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

BZOJ4916 神犇和蒟蒻 杜教篩

求 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...