杜教筛

根据狄什么卷积,对于数论函数 \(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\) 然后杜教筛。

posted @ 2024-12-25 09:57  Cl41Mi5deeD  阅读(37)  评论(0)    收藏  举报