杜教篩的某道練習題

2022-04-02 14:48:00 字數 730 閱讀 4393

from here.

求$$\sum_^n\varphi(i)*i$$

把\(f(x)=\sum_^n\varphi(i)*i\)與\(g(x)=x\)做狄利克雷卷積並求字首和,會得到:

\[\sum_^n\sum_f(d)g(\frac id)=\sum_^n\sum_\varphi(d)*d*\frac id=\sum_^ni^2

\]再列舉\(t=\frac id\):

\[\sum_^n\sum_\varphi(d)*d*\frac id=\sum_^nt\sum_^\varphi(d)*d=\sum_^ni^2

\]比如\(t=\frac id=1\)時,滿足條件的\(d\)有\(n\)個;當\(t=\frac id=2\)時,滿足條件的\(d\)就有\(\lfloor\frac n2\rfloor\)個,且就是\(1\sim\lfloor\frac n2\rfloor\)。

然後移項,左邊留著\(\sum_^n\varphi(i)*i\):

\[\sum_^n\varphi(i)*i=\sum_^ni^2-\sum_^nt\sum_^\varphi(d)*d\\\rightarrow s(n)=\sum_^ni^2-\sum_^ns(\frac nt)

\]總結:當遇到一些不好求字首和的函式時,一般將其與乙個易於求字首和的函式進行狄利克雷卷積,得到另乙個易於求字首和的函式,然後通過簡單的數學變換,得到可以遞迴的式子。

這道題也是這樣的思路。

習題 杜教篩(Sum)(杜教篩)

傳送門杜教篩的板子,拿來練手 beginans sum phi i end g n 1,phi n f n h n sum phi d g frac n h n sum f d g frac 令f n sum f i h n sum h i beginh n sum h i sum sum f d ...

50道SQL練習題

網上流傳較廣的50道sql訓練,奮鬥了不知道多久終於寫完了。前18道題的難度依次遞增,從19題開始的後半部分算是迴圈練習和額外function的附加練習,難度恢復到普通狀態。第9題非常難,我反正沒有寫出來,如果有寫出來了的朋友還請賜教。這50道裡面自認為應該沒有太多錯誤,而且盡可能使用了最簡單或是最...

線性篩素數 程式設計練習題

輸入格式 第一行包含兩個正整數n m,分別表示查詢的範圍和查詢的個數。接下來m行每行包含乙個不小於1且不大於n的整數,即詢問該數是否為質數。輸出格式 輸出包含m行,每行為yes或no,即依次為每乙個詢問的結果。輸入輸出樣例 輸入 1 複製 100 523 49197輸出 1 複製 yesyes no...