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