莫比烏斯繁衍1

2022-05-07 22:45:26 字數 1078 閱讀 1669

bzoj crash的數字** 2154

題目大意

n , m <= 10^7

終於會正經的莫比烏斯繁衍了。就是包含兩種變換1.莫比烏斯繁衍、莫比烏斯變換 2.考慮貢獻(被計算的次數),進行列舉順序的變化,從而達到線性篩的目的。

因為過程太繁瑣,用替代輸入

減少取模次數有奇效,不知道為什麼如此慢

1 #include2 #include3 #include4 #include5

using

namespace

std;

6#define maxn 10000020

7#define mod 2010100989

intprime[maxn],cnt;

10long

long

f[maxn];

11bool

tag[maxn];

12long

long

n,m,ans;

1314

void

init()

24else27}

28}29for (register long

long i = 1 ; i <= n ; i++) f[i] = (f[i] *i);

30for (register int i = 2 ; i <= n ; i++) f[i] = (f[i] + f[i - 1]) %mod;31}

32 inline long

long power(long

long x,long

long

y)39

return res %mod;40}

41int

main()

51 ans = (ans * power(4,mod - 2)) %mod;

52 printf("

%d\n

",(int)((ans % mod + mod) %mod));

53 }

莫比烏斯函式與莫比烏斯反演

1.1 莫比烏斯函式 莫比烏斯函式可以看做乙個輔助函式,它在莫比烏斯反演公式中用到。1.2 莫比烏斯反演 莫比烏斯反演公式是 根據和函式來求算數函式的乙個公式。1.3 算數函式 所有在正整數上運算的函式稱為算數函式。1.4 和函式 設 f 是算數函式,f 的和函式為n的所有約數的算數函式之和。1.5...

莫比烏斯反演 二 莫比烏斯反演定理

首先設兩個任意函式f x 和f x 定義運算 f x sum f d 這時就可以用f x 表示f x f 1 f 1 f 2 f 1 f 2 f 3 f 3 f 1 f 4 f 4 f 2 f 1 f 5 f 5 f 1 f 6 f 6 f 3 f 2 f 1 這時可以試著用f x 表示f x f ...

莫比烏斯反演

首先 莫比烏斯函式有個性質 d n d 1 n 1 0 n 1 證明 n 1時,不做多餘說明。n 1 根據唯一分解定理,可以分解n ki 1pai i 對於那些含平方因子也就是存在ai 不為1的數,它的函式值為0,對答案沒有任何貢獻。所以我們來看看那些是互異素數乘積的數,每乙個成為它約數的數是什麼樣...