數論分塊、杜教篩思想、莫比烏斯反演初探
阿新 • • 發佈:2022-04-10
1 1.對於L,R; 2 找到最大的R,使得[n/l]=[n/r]; 3 n/r>=[n/r]-->r<=n/[n/r] 4 <<=>> 5 r<=n/[n/l]; 6 7 2. 8 [[n/x]/y]=[n/xy] 9 10 3.杜教篩 11 i >= 1 && i <= n j >= 1 && j <= n 12 求它們的互質對數 13 令f(n)=它們的互質對數; 14 f(n)=n^2-不互質對數 15 即f(n)=n^2-(∑(i,j)=d) d從2->n; 16 對於i,j他們gcd=d,則I,J互質;且I,J<=[n/d];17 即等價求I,J,在[n/d]下的互質對數,子問題; 18 所以f(n)=n^2-∑f(n/d) ;複雜度是O(n^3/4); 19 能優化到O(n^2/3); 20 當n<=n^2/3時用線性篩,大於用遞迴,遞迴複雜度是o(3/4) 0.75; 21 22 23 24 數論函式:定義域是整數的函式 ; 25 積性函式:(a,b)=1,有f(a,b)=f(a)*f(b); 26 f(n)=f(p1^e1)*...*f(pk^ek); 27 28 29 莫比烏斯函式 30 31 u(n) 當 n有平方因子 u(n)=0,也就是n=pk^ek, ek>=2; 32 當n=1,u(n)=1; 33 當n=p1..pk時,u(n)=(-1)^k; 34 35 迪利克雷卷積(適用於數論函式)有交換律,分配律,結合律; 36 形如h=f*g; //*是卷積符號不是乘法 37 h(n)=∑f(d) x g(n/d),d|n;這是x乘法 ,*這裡代表卷積符號; 38 39 若f(n)=1,f*f f卷f 40 f*f=n的因子個數 ∑f(d)xf(n/d) 41 所以h(n)=∑f(d)xf(n/d) 42 43 2.若id(n)=n,f(n)=1, 44 則h(n)=∑1xn/d =因子之和 45 46 f,g是積性函式,則f*g也是積性函式47 f*g=f(d)xg(n/d)顯然如果f,g為積性函式,則能展開 48 49 莫比烏斯反演 50 f(n)=∑g(d),d|n //f=g*1; 51 能推出g(n)=∑f(d) x u(n/d),d|n ; //g=f*u 52 53 證明; 54 f*u=g*1*u; 證明(1*u)=e;其中e, e(n),當n=1時,e(n)=1,n≠1時,e(n)=0; 55 證明1*u=∑u(d) ,d|n ,考慮n=p1^e1..pk^k;有k種因子;則由莫比烏斯u函式知道,只有1次因子才會被統計 56 即,∑u(d) ∑(-1),(c,k,i)=0 =(1-1)^k;證畢; 57 等價於f*u=g*e=g; 58 即g(n)=f*u證畢;