根据狄什么卷积,对于数论函数 \(f,g\) 有
\[(f\ast g)(n)=\sum_{d|n}g(n)f(\frac{n}{d})
\]
进一步地,有
\[\sum_{i=1}^n(f\ast g)(i)=\sum_{i=1}^n\sum_{d|i}g(d)f(\frac{i}{d})
\]
\[=\sum_{d=1}^ng(d)\sum_{i=1}^{\lfloor n/d\rfloor}f(i)
\]
\[=\sum_{d=1}^ng(d)S(\lfloor \frac{n}{d}\rfloor)
\]
这个东西能干啥呢就是说如果现在想求 \(\sum_{i=1}^nf(i)\),可以构造一个 \(g\),一般就是 \(g=I,g=id\) 这样的。根据上面的式子
\[g(1)S(n)=\sum_{i=1}^ng(i)S(\lfloor\frac{n}{i}\rfloor)-\sum_{i=2}^ng(i)S(\lfloor\frac{n}{i}\rfloor)
\]
\[=\sum_{i=1}^n(f\ast g)(i)-\sum_{i=2}^ng(i)S(\lfloor\frac{n}{i}\rfloor)
\]
那现在,如果 \(g(1),\sum_{i=1}^n(f\ast g)(i),\sum_{i=2}^ng(i)S(\lfloor\frac{n}{i}\rfloor)\) 都可以用一个比较优秀的时间复杂度求出来,\(S(n)\) 也就可以比较优秀时间复杂度地求出来。
比如说求 \(\sum_{i=1}^n\mu(i)\),构造一个 \(f(i)=\mu(i),g(i)=I\)
由狄卷定义和莫函数性质有
\[\sum_{i=1}^n(f*g)(i)=\sum_{i=1}^n\sum_{d|i}\mu(d)=1
\]
而后面的部分就是
\[\sum_{i=2}^nS(\lfloor\frac{n}{i}\rfloor)
\]
可以加一个记忆化然后数论分块。杜教筛筛值的时间复杂度一般是 \(O(n^{\frac{3}{4}})\),把记忆化的可以 \(O(n_0)\) 预处理的部分(比如线性筛)的 \(n_0\) 给成\(n^{\frac{2}{3}}\) 可以实现 \(O(n^{\frac{2}{3}})\)。我不会证。
再比如说求 \(\sum_{i=1}^n\phi(i)\),可以根据 \(\phi\ast I=id\) 构造
\[S(n)=n*(n+1)/2-\sum_{i=2}^nS(\lfloor\frac{n}{i}\rfloor)
\]
选数
就是说设 \(f(x)\) 为答案,\(F(x)\) 为gcd为 \(x\) 的倍数的方案,就有
\[F(x)=\sum_{x|d}f(d)=(\lfloor\frac{H}{x}\rfloor-\lfloor\frac{L-1}{x}\rfloor)^n
\]
莫反一下
\[f(x)=\sum_{x|d}\mu(\frac{d}{x})F(d)
\]
然后发现给 \(F()\) 带进去没法整除分块因为定义域不连续非常蛋疼,于是给变量全除以 \(x\),答案等价于求 \(f(1)\)
\[f(1)=\sum_{d=1}^{\lfloor H/x\rfloor}\mu(d)(\lfloor\frac{H}{dx}\rfloor-\lfloor\frac{L-1}{dx}\rfloor\rfloor)^n
\]
前半部分杜教筛,后半部分数论分块。
神犇和韶身
想一下可以发现 \(A=1,B=\sum_{i=1}^ni\phi(i)\)
看一下 \(B\) 能构造什么 \(g\) 来求,试一下 \(g=id\) 就有
\[(f\ast g)(n)=\sum_{d|n}g(d)f(\frac{n}{d})=\sum_{d|n}d\frac{n}{d}\phi(\frac{n}{d})=\sum_{d|n}n\phi(d)=n^2
\]
所以
\[g(1)S(n)=\sum_{i=1}^ng(i)S(\lfloor\frac{n}{i}\rfloor)-\sum_{i=2}^ng(i)S(\lfloor\frac{n}{i}\rfloor)
\]
\[=\sum_{i=1}^ni^2-\sum_{i=2}^niS(\lfloor\frac{n}{i}\rfloor)
\]
前半公式,后半数论分块。
dzy love math IV
很蛋疼啊这个,但是发现 \(n\le 10^5\),考虑枚举 \(n\),设 \(S(n,m)=\sum_{i=1}^m\phi(ni)\)
原题等价于求 \(\sum_{i=1}^nS(i,m)\)
然后就有
\[\sum_{i=1}^m\phi(ni)=y\sum_{i=1}^m\phi(x)phi(i)
\]
这里设 \(n=\prod p_i^{a_i},x=\prod p_i,y=n/x\)
然后
\[=y\sum_{i=1}^m\phi(\frac{x}{gcd(x,i)})\phi(i)gcd(x,i)
\]
\[=y\sum_{i=1}^m\phi(\frac{x}{gcd(x,i)})\phi(i)\sum_{d|gcd(x,i)}\phi(d)
\]
\[=y\sum_{i=1}^m\phi(i)\sum_{d|gcd(x,i)}\phi(\frac{x}{d})
\]
\[=y\sum_{d|x}\phi(\frac{x}{d})\sum_{d|i}^m\phi(i)
\]
\[=y\sum_{d|x}\phi(\frac{x}{d})\sum_{i=1}^{\lfloor m/d\rfloor}\phi(di)
\]
\[=y\sum_{d|x}\phi(\frac{x}{d})S(d,\lfloor\frac{m}{d}\rfloor)
\]
然后线性筛预处理 \(x\)。枚举 \(d\) 然后杜教筛。