【题解】Cyclic GCDs

\(\texttt{Dwango Programming Contest V }\text{Cyclic GCDs}\)

\(n\)​ 个点,给定每个点的权值 \(a_i\)

\(1,2,\cdots,n\) 的排列 \(p\) 表示点 \(i\) 向点 \(p_i\) 连了一条边,这样形成了若干个简单环,每个简单环的权值定义为环上最小的点的权值,一张图的权值定义为所有环的权值的乘积。遍历所有 \(1,2,\cdots,n\) 的排列得到若干个图,所有形成了 \(k\) 个简单环的图的权值和记为 \(b_k\)

\(\gcd(b_1,b_2,\cdots,b_n)\)​,答案模 \(998244353\)​。

有引理:\(P,Q\)​​​​​​​​​ 是整系数多项式,用 \(w(F)\)​​​​​​​​​ 表示多项式 \(F\)​​​​​​​ 的所有系数的 \(\gcd\)​​​​​​​,则 \(w(PQ) =w(P)w(Q)\)​​​​​​​​​​​​。

\(\hat P=P/w(P),\hat Q=Q/w(Q)\)​​​​,只需证

\[w(\hat P\hat Q)=1 \]

用反证法。假设存在质数 \(p\)​​ 使得

\[w(\hat P\hat Q)\equiv 0\mod p \]

考虑 \(\hat P\hat Q\)​ 最高项的系数,由 \(\hat P\)​ 和 \(\hat Q\)​ 最高项系数相乘而来,由于 \(p\)​ 是质数,必然有一个多项式最高项的系数为 \(p\)​ 的倍数,不妨设它为 \([x^L]\hat P\)​,则

\[w((\hat P-[x^L]\hat P)\hat Q)\equiv w(\hat P\hat Q) \equiv 0\mod p \]

如此迭代下去。由于每次有一个多项式的最高项次数会降低 \(1\)​,因此迭代有限次后,必然会有一个多项式成为零多项式,考虑这个零多项式​最初的状态,每项的系数均为 \(p\) 的倍数,与 \(w(\hat P)=w(\hat Q)=1\) 矛盾。引理得证。

回到本题,先把 \(a_i\) 从小到大排序,设 \(dp_{i,j}\) 代表前 \(i\) 个数分成 \(j\) 个环的价值之和。有转移方程

\[dp_{i,j}=dp_{i-1,j-1}\times a_i+dp_{i-1,j}\times (i-1) \]

设多项式 \(f_i(x)=\sum dp_{i,j}x^j\),于是

\[f_i(x)=f_{i-1}(x)\times(a_ix+(i-1)) \]

根据引理,答案即

\[w(f_n)=\prod\limits_{i=1}^{n}w(a_ix+(i-1))=\prod\limits_{i=1}^{n}\gcd(a_i, i-1) \]

\(\square\)

posted @ 2021-08-20 18:08  gsj_z  阅读(76)  评论(0编辑  收藏  举报