\(\texttt{Description}\)
给定整数 \(n\),\(c\),\(d\),\(\langle b_i\rangle_{i=1}^n\),质数 \(p\),求解方程组
\(\texttt{Solution}\)
神仙题。
zzt 的题解:
我们来解方程 \(\sum_{j=1}^nf(\gcd(i,j))g(i)h(j)x_j=b_i\)
求出 \(f\) 的莫比乌斯反演 \(fr\),那么 \(\sum_{j=1}^n\sum_{d|i,d|j}fr(d)h(j)x_j=b_i/g(i)\)
也就是 \(\sum_{d|i}fr(d)\sum_{d|j}h(j)x_j=b_i/g(i)\)
那我们在对 \(b_i/g(i)\) 莫比乌斯反演,除以 \(fr\) 后就可以求出 \(\sum_{d|j}h(j)x_j\)
这个长的和莫比乌斯反演一样?再来一次莫比乌斯反演就可以求出 \(x_j\) 啦!
我们考虑更一般的情况,已知 \(f\) 和 \(g\),满足 \(\forall i:\sum_{j=1}^nf(\gcd(i,j))h(j)=g(i)\),求 \(h\):
-
\((1)\to(2)\):对于 \(f(\gcd(i,j))\),我们进行如下变换
\[\begin{align}f(\gcd(i,j))&=\sum_{k|i,k|j}f(k)[\gcd(i,j)=k]&\text{for gcd}\nonumber\\ &=\sum_{k|i,k|j}f(k)\sum_{t|\frac{i}{k},t|\frac{j}{k}}\mu(k)&\text{Möbius inverse}\nonumber\\ &=\sum_{d|i,d|j}\sum_{k|d}f(k)\mu(\frac{d}{k})=\sum_{d|i,d|j}(f\ast\mu)(d)&\text{let }d=kt\nonumber \end{align} \] -
\((2)\to(3)\):交换 \(\sum\);
-
\((3)\to(4)\):左边是莫比乌斯变换的形式,则两边同时反演;
-
\((4)\to(5)\):移项点积;
-
\((5)\to(6)\):左边是莫比乌斯变换的形式,则两边同时反演。
至此,我们可以 \(O(n\log)\) 的时间求出 \(h\)。
回头看题,发现题目可以整理 \((1)\) 式。我们忽略剩余系的影响,有
我们令 \(f(z)=z^{c-d}\),\(h(z)=(z^dx_z)\),\(g(z)=\frac{b_z}{z^d}\),然后套用 \((5)\) 式就可以了。
最后,\((5)\) 式是真的漂亮: