「不会」莫比乌撕函数

久未见 提交于 2019-12-30 07:54:11

「yydgcd」
\[\sum\limits_{i=1}^n \sum\limits_{j=1}^m \sum\limits_{k\in prime}^{min(n,m)} [(i,j)==k]\]
\[\sum\limits_{k\in prime} \sum\limits_{i=1}^{\lfloor n/k \rfloor} \sum\limits_{j=1}^{\lfloor m/k \rfloor} [(i,j)==1]\]
\[\sum\limits_{k\in prime} \sum\limits_{i=1}^{\lfloor n/k \rfloor} \sum\limits_{j=1}^{\lfloor m/k \rfloor} \sum\limits_{u|i\&u|j} \mu(u) \]
\[\sum\limits_{k\in prime} \sum\limits_{u=1}^{\lfloor min(n,m)/k \rfloor} \mu(u) \lfloor \frac{n}{ku} \rfloor\lfloor \frac{m}{ku} \rfloor\]
\[\sum\limits_{s=1}^{min(n,m)} \lfloor\frac{n}{s}\rfloor\lfloor\frac{m}{s}\rfloor \sum\limits_{k\in prime} \mu(\frac{s}{k})\]
\[f(s)=\sum\limits_{k\in prime} \mu(\frac{s}{k})\]
则可以埃筛求出\(f()\),然后取前缀和,然后整除分块

「数表」
\(f(x)=\sum\limits{k|i}k\)
为积性函数,可以线筛
考虑p的次幂被加入的次数
\[f(x*p)=f(x)*f(p) (x%p!=0)\]
\[f(x*p)=f(x)*f(p)-f(x/p)*p (x%p==0)\]
然后
\[\sum\limits_{i=1}^n \sum\limits_{j=1}^m [f[(i,j)]<=lim]f[(i,j)]\]
\[\sum\limits_{g=1}^n[f[g]<=lim]f[g]\sum\limits_{i=1}^{\lfloor n/g\rfloor}\sum\limits_{j=1}^{\lfloor m/g\rfloor}\sum\limits_{u|i,j}\mu(u)\]
\[\sum\limits_{g=1}^n[f[g]<=lim]f[g]\sum\limits_{u=1}^{min(n,m)}\mu(u)\lfloor\frac{n}{gu}\rfloor\lfloor\frac{m}{gu}\rfloor\]
\[\sum\limits_{s=1}^n \lfloor\frac{n}{s}\rfloor\lfloor\frac{m}{s}\rfloor \sum\limits_{g|s} [f[g]<=lim]f[g]\mu(\frac{s}{g})\]
则可以将询问离线,从小到大解决所有的g,复杂度nlogn

「DZYlovesmath」
\[\sum\limits_{i=1}^n \sum\limits_{j=1}^m f[(i,j)]\]
\[\sum\limits_{k=1}^n f[k]\sum\limits_{i=1}^{\lfloor n/k\rfloor}\sum\limits_{j=1}^{\lfloor m/k\rfloor}\sum\limits_{u|i,u|j}\mu(u)\]
\[\sum\limits_{k=1}^n f[k]\sum\limits_{u|i,u|j}\mu(u) \lfloor \frac{n}{ku}\rfloor\lfloor \frac{m}{ku}\rfloor\]
\[\sum\limits_{s=1}^n \lfloor\frac{n}{s}\rfloor\lfloor\frac{m}{s}\rfloor \sum\limits_{k|s} f[k]*\mu(\frac{s}{k})\]
考察\(F(s)=\sum\limits_{k|s} f[k]*\mu(\frac{s}{k})\),当\(\mu(\frac{s}{k})!=0\)时,\(f[k]\)只有\(f[s],f[s]-1\)两种取值
\[F(s)=\sum\limits_{k|s\&f[k]==f[s]} f[s]*\mu(\frac{s}{k})+\sum\limits_{k|s\&f[k]==f[s]-1} (f[s]-1)*\mu(\frac{s}{k})\]
\[F(s)=\sum\limits_{k|s\&f[k]==f[s]} f[s]*\mu(\frac{s}{k})+\sum\limits_{k|s\&f[k]==f[s]-1} f[s]*\mu(\frac{s}{k})-\mu(\frac{s}{k})\]
\[F(s)=\sum\limits_{k|s\&f[k]==f[s]} f[s]*\mu(\frac{s}{k})+\sum\limits_{k|s\&f[k]==f[s]-1} f[s]*\mu(\frac{s}{k})+\sum\limits_{k|s\&f[k]<f[s]-1} f[s]*0 -\mu(\frac{s}{k})\]
\[F(s)=f[s]*\sum\limits_{k|s}\mu(k) -\sum\limits_{k|s\&f[k]==f[s]-1} \mu(\frac{s}{k})\]
考察\(f[s]*\sum\limits_{k|s}\mu(k)=f[s]*[s==1]\),一定为0
\[F(s)=-\sum\limits_{k|s\&f[k]==f[s]-1} \mu(\frac{s}{k})\]
\(s的质因子中次数为f[s]的集合为M\),由于\(f[k]==f[s]-1\)\(\frac{s}{k}\)中必然包含M中所有元素一次且仅一次
枚举其它因子包含在\(\frac{s}{k}\)中的数量,设s含有的质因数共c种
\[F(s)=-\sum\limits_{i=0}^{c-|M|}C_{c-|M|}^i (-1)^{|M|+i}\]
是一行组合数奇加偶减的形式,当\(c-|M|>0\)时显然为0
否则\(F(s)=-(-1)^{|M|}=(-1)^{|M|+1}\)
于是愉快地线性求出了\(F()\),其余整除分块处理。

「约数个数和」
注意一个事实
\[\sum\limits_{d|(i*j)}1==\sum\limits_{x|i}\sum\limits_{y|j}[(x,y)==1]\]
考虑\((i*j)\)的约数d中每个质因子p的次数c_d,设\((i*j)\)中的次数为\(c_t\),\(i\)中的次数为\(c_i\)
规定若\(c_d<=c_i\),则x中p的次数为\(c_d\),y中不含p这一因子,则会作出应有的一个贡献
\(c_d>c_i\),则x中不含p这一因子,y中含p的次数为\(c_d-c_i\),也会作出应有的一个贡献
质因子之间互相独立,故上式正确

「数字表格」「于神之怒加强版」「jzptab」的推导过程与上边几个十分相似..而且要更简单一点
「一个人的数论」
\[\sum\limits_{j|n} \mu(j)*j^d \sum\limits_{i=1}^{n/j} i^d\]
自然数幂和拆成组合数和伯努利数,由
\[S_k(n)=\frac{1}{k+1}\sum\limits_{i=0}^k C_{k+1}^iB_in^{k+1-i}\]
原式变为
\[\sum\limits_{j|n} \mu(j)*j^d*\frac{1}{d+1} \sum\limits_{i=0}^d C_{d+1}^iB_i (\frac{n}{j})^{d+1-i}\]
\[\frac{1}{d+1}\sum\limits_{i=0}^d C_{d+1}^iB_in^{d+1-i}\sum\limits_{j|n}\mu(j)j^{i-1}\]
\(\sum\limits_{j|n}\mu(j)j^{i-1}\)为积性函数,可以对每个质因子快速算出并相乘得到n的函数值
而外层d枚举即可

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!