唐氏儿学莫比乌斯反演

theshumo / 2024-10-23 / 原文

不会莫比乌斯反演,所以来学。

很多博客看不懂/kk。

题目

P 2522

\[\sum\limits^b_{i=a}\sum\limits_{j=c}^{d}[\gcd(i,j)=k] \]

容斥,

\[\sum\limits^b_{i=a} \sum\limits_{j=c}^{d} [\gcd(i,j)=k]= \sum\limits^b_{i=1}\sum\limits_{j=1}^{d}[\gcd(i,j)=k]- \sum\limits^b_{i=1}\sum\limits_{j=1}^{c-1}[\gcd(i,j)=k]-\newline \sum\limits^{a-1}_{i=1}\sum\limits_{j=1}^{d}[\gcd(i,j)=k]+ \sum\limits^{a-1}_{i=1}\sum\limits_{j=1}^{c-1}[\gcd(i,j)=k]\]

所以只要能查

\[ \sum\limits^x_{i=1}\sum\limits_{j=1}^{y}[\gcd(i,j)=k] \]

就行了。不妨令 \(x\leq y\)
经典同时除以 \(k\) 。化为

\[\sum\limits_{i=1}^{\lfloor\frac{x}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{y}{k}\rfloor}[\gcd(i,j)=1] \]

运用莫比乌斯反演。

\[\sum\limits_{d\mid \gcd(i,j)} \mu(d) = [\gcd(i,j)=1] \]

\[\sum\limits_{i=1}^{\lfloor\frac{x}{k}\rfloor}\sum\limits_{j=1}^{\lfloor\frac{y}{k}\rfloor}\sum\limits_{d\mid \gcd(i,j)} \mu(d) \]

枚举 \(d\)

\[\sum^{\lfloor\frac{x}{k}\rfloor}_{d=1}\sum^{\lfloor\frac{x}{k}\rfloor}_{i=1}\sum^{\lfloor\frac{y}{k}\rfloor}_{j=1}[d\mid i] [d \mid j] \mu(d) \]

\(\mu(d)\) 显然可以提前。

\[\sum^{\lfloor\frac{x}{k}\rfloor}_{d=1}\mu(d) \sum^{\lfloor\frac{x}{k}\rfloor}_{i=1}\sum^{\lfloor\frac{y}{k}\rfloor}_{j=1}[d\mid i] [d \mid j] \]

换一下位置。

\[\sum^{\lfloor\frac{x}{k}\rfloor}_{d=1}\mu(d) \sum^{\lfloor\frac{x}{k}\rfloor}_{i=1}[d\mid i]\sum^{\lfloor\frac{y}{k}\rfloor}_{j=1} [d \mid j] \]

然后我们可以发现

\[\sum^{\lfloor\frac{x}{k}\rfloor}_{i=1}[d\mid i] \]

这个式子不就是求 \(1\)\(\lfloor\frac{x}{k}\rfloor\) 的所有数中能被 \(d\) 整除的数的个数吗,化简一下,就是 \(\lfloor\frac{\lfloor\frac{x}{k}\rfloor}{d}\rfloor\)
所以上上式就可以化简成

\[\sum^{\lfloor\frac{x}{k}\rfloor}_{d=1}\mu(d) \cdot\lfloor\frac{\lfloor\frac{x}{k}\rfloor}{d}\rfloor\cdot\lfloor\frac{\lfloor\frac{y}{k}\rfloor}{d}\rfloor \]

整除分块,启动!