第一題結合莫比烏斯函式定義,值恒為1。
第二題,phi(i^2) = phi(i) * i,根據尤拉函式的定義式能推出來,每個質因子的指數都增加一倍,都提出來乙份,就是原先的phi(i)*i。然後還是跟g(x)卷一下,杜教篩即可。
1 #include 2 #include 3 #include 4using
namespace
std;
5 typedef long
long
ll;6
const
int maxn = 1000100,mo = 1e9 + 7,inv2 = (mo + 1) / 2,inv6 = (mo + 1) / 6;7
8int
n,maxn,phi[maxn],sum[maxn],pri[maxn];
9bool
vis[maxn];
10 mapf;
11int solve(int
n)12
26return f[n] =ans;27}
28void
init()
2940
for (int j = 1;j <= tot && i * pri[j] <= maxn;j++)
4150}51
}52for (int i = 1;i <= maxn;i++)
53 sum[i] = (sum[i - 1] + (ll)phi[i] * i % mo) %mo;54}
5556
intmain()
57
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...