1. 程式人生 > >ACM-ICPC 2018 南京賽區網路預賽 J Sum(尤拉線性篩+思維)

ACM-ICPC 2018 南京賽區網路預賽 J Sum(尤拉線性篩+思維)

Sum

問題分析

題意:我們將類似於6=23這樣的數稱為asquarefreeinteger,而12=223這樣的就不是,因為有平方因子。但是6還可以被拆分成6=16=32=61,所以對於6,我們有4種分解方式。因此我們設定f(6)=4。現在要求i=1nf(i)
題解:
首先我們可以知道
1. 對於任意一個質數pf(p)=2
2. 對於任意一個正整數n,可以分解成n=p1e1p2e2

...pkek的形式,那麼如果有ei3,則f(n)=0
3. 已知n=p1e1x,則有

f(n)={1f(x),if e1=2f(p1e1)f(x),if e1=1,andx%p1e10={f(x),if e1=22f(x),if e1=1
為什麼哩,因為如果e1=2,那麼對於np1e1的貢獻就只有1p12=p1p1,所以f(p12)=1,而當