给定集合 \(S=\{x\ |\ 1\le x\le n,(x,n)=1\}\) ,求有多少 \(T\sube S\) ,满足 \(\sum_{t\in T}t\equiv k\pmod n\) 。
对 \(998244353\) 取模。
\(2\le n <998244353,0\le k<n\)
考虑生成函数,显然 \(OGF\) 为:
那么我们也就是要求:
到这里发现不太好做,考虑将 \(F(\omega_n^j)\) 展开,那么有:
发现后面的乘长得很像分圆多项式,考虑令 \((n,j)=d\) ,所以:
因为此时 \((\frac{n}{d},\frac{j}{d})=1\) ,所以我们考虑 \(\prod_{(i,n)=1}(1+\omega_d^i)\) 与 \(\prod_{(i,d)=1}(1+\omega_d^i)\) 的关系。
令 \(A_1=\{x\ |\ (x,n)=1,1\le x\le n\},\ A_2=\{x\ |\ (x,d)=1,1\le x\le d\}\) ,那么不难发现对于群 \(G_1=<A_1,\times_{mod\ n}>,G_2=<A_2,\times_{mod\ d}>\) ,存在映射 \(f:G_1\to G_2: x\bmod d\) 为同态。由同态基本定理知 \(G_1/Kerf\cong Imf\) ,所以 \(\prod_{(i,n)=1}(1+\omega_d^i)=\left[\prod_{(i,d)=1}(1+\omega_d^i)\right]^{\frac{\varphi(n)}{\varphi(d)}}\) 。
那么我们有:
在后面套个莫比乌斯反演,可得:
那么我们只需要求出 \(\prod_{(i,d)=1}(1+\omega_d^i)\) 。
考虑分圆多项式,我们有:
不妨设 \(S_n=(-1)^{\varphi(n)}\Phi_n(-1)\) 所以:
通过一番打表可以发现,\(S_d\neq 1\iff d=2p^k\ (p\in prime)\or d=1,2\) 。其中
这样我们就能在 \(\mathcal O (d(n)^2)\) 的复杂度解决问题。
首先有:
接下来考虑非特殊情况。
根据定义,我们可以得到:
即:
考虑归纳证明。
显然有 \(\Phi_3(x)=x^2+x+1\to S_3=1\) ,我们分奇偶性讨论。
\(2\nmid n:\)
根据给出的式子以及归纳假设不难发现 \(\Phi_n(-1)=-1\to S_n=1\)
\(2\mid n:\)
因为 \(\Phi_2(-1)=0\) 无法代值除去,考虑因式分解。
不妨设 \(n=2^{k+1}q\ (k\ge 0,2\nmid q)\),那么:
考虑利用 \(x^q+1\),有:
所以扣掉 \(\Phi_2(x)\) 后,代入 \(-1\) ,有:
所以 \(S_n=1\) 。
综上所述,除了我们给出的特殊情况外 \(S_n\) 均等于 \(1\) ,命题得证。
原文:https://www.cnblogs.com/leukocyte/p/14546551.html