bzoj 4916 神犇和蒟蒻 杜教篩

2022-09-17 00:06:24 字數 795 閱讀 5181

第一題結合莫比烏斯函式定義,值恒為1。

第二題,phi(i^2) = phi(i) * i,根據尤拉函式的定義式能推出來,每個質因子的指數都增加一倍,都提出來乙份,就是原先的phi(i)*i。然後還是跟g(x)卷一下,杜教篩即可。

1 #include 2 #include 3 #include 4

using

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