這就是個毒瘤...html
設ide
則有函數
這個不經常使用...spa
下面這個用的多一點。3d
設code
則有htm
設 nt = d 則有blog
此處N爲枚舉上界。get
莫比烏斯函數的來源:數學
由F(x)倒推出f(x)的時候F(x)前面的係數爲miu(x)
求和交換的一些技巧:
打表n = 60便可(僞)證實。
沒了。這TM比《組合數學》上面講的簡單多了...
1 inline void getmiu(int b) { 2 miu[1] = 1; 3 for(int i = 2; i <= b; i++) { 4 if(!vis[i]) { 5 p[++top] = i; 6 miu[i] = -1; 7 } 8 for(int j = 1; j <= top && i * p[j] <= b; j++) { 9 vis[i * p[j]] = 1; 10 if(i % p[j] == 0) { 11 break; 12 } 13 miu[i * p[j]] = -miu[i]; 14 } 15 } 16 return; 17 }
杜教篩我顯然不會...
遇到超過1e8的miu,能夠嘗試O(sqrt(x))來求。
下面經過例題來加深理解。