数论公式总结

1.中间式子&常用技巧

\[[n==1]=\sum_{d|n}\mu (d)\]

这个式子用来替换条件式,从而降低复杂度

\[\sum_{i=1}^n\sum_{j=1}^{[\frac ni]}f(i)=\sum_{i=1}^n\sum_{j=1}^{[\frac ni]}f(j)\]

被加数可以任意以\(i\)\(j\)作为索引

\[\sum_{i=1}^n\sum_{j=1}^{[\frac ni]}f(ij)*g(i)*h(j)=\sum_{k=1}^nf(k)*\sum_{d|k}g([\frac kd])h(d)\]

\(k=ij\),然后枚举\(k\)。这里的\(i\)可以不从1枚举到n,可以是任意数,前提是保证后面的d和i性质一样(比如i是[1,n]范围内的质数,那么d|k且d是质数),且计算时保证关于i的函数和关于d的函数是同一性质(还是刚才的例子,式子左边是g(i),右边以d作为自变量的也应该是g而不应该是h,但如果i是顺序从1枚举到n则没有这个限制)

2.gcd相关

\[\sum_{i=1}^{n}\sum_{j=1}^n[gcd(i,j)==x]=2*pre\phi([\frac nx]) -1\]
\[\sum_{i=1}^{n}\sum_{j=1}^m[gcd(i,j)==x]=\sum_{d=1}^{[\frac nx]}\left( \mu(d)*[\frac {n}{dx}]*[\frac {m}{dx}]\right)\]
\[\sum_{i=1}^{n}\sum_{j=1}^ngcd(i,j)=\sum_{d=1}^n\left(2d*pre\phi[\frac nx]-d\right)\]
\[\sum_{i=1}^{n}\sum_{j=1}^mgcd(i,j)=\sum_{x=1}^{n}\left(x*\sum_{d=1}^{[\frac nx]}\left( \mu(d)*[\frac {n}{dx}]*[\frac {m}{dx}]\right)\right)\]

3.d相关(d是约数个数函数)

\[d(i*j)=\sum_{x|i}\sum_{y|j}[gcd(x,y)==1]\]
\[\sum_{i=1}^n\sum_{j=1}^md(i*j)= \sum_{d=1}^n\left(\mu(d)*pred([\frac nd])*pred([\frac md])\right)\]

4.mu相关(mu是莫比乌斯函数)

\[\sum_{i=1}^n\sum_{j=1}^{[\frac mi]}ij\mu(i)=1\]

5.sigma相关(sigma是约数和函数)

\[\sum_{i=1}^n\sum_{j=1}^m\sigma(gcd(i,j))=\sum_{x=1}^n\sigma(x)\sum_{d=1}^{[\frac nx]}\left( \mu(d)*[\frac {n}{dx}]*[\frac {m}{dx}]\right)\]
\[\sum_{i=1}^n\sum_{j=1}^m\sigma(gcd(i,j))*[\sigma(gcd(i,j))<=a]=\sum_{k=1}^n[\frac {n}{k}][\frac {m}{k}]g(k),其中g(k) =\sum\limits_{d|k}\sigma(d)*[\sigma(d)<=a]\mu([\frac kd])\]

这里分块,然后\(g(k)\)的区间和用线段树维护,每次\(a\)修改,用线段树给\(g(k)\)修改

6.因子相关

\[f(x)=\sum\limits_{i=1}^{[sqrt(x)]}\mu(i)*[\frac{x}{i^2}]\]

[1,x]范围内所有数不含平方因子的数的数量

更新中...

猜你喜欢

转载自www.cnblogs.com/danzh/p/11296670.html