关于复读机加强版的一些小讨论

我是复读机,所以复读 EI Editorial

本题做 \(d=6\) 的关键点是注意到 \(\omega_6^2=\omega_6-1\)。如何批量生产这种神奇等式呢。

事实上,总是可以用成 \(\varphi(d)\)\(d\) 阶单位根的线性组合表示出所有的 \(d\) 阶单位根,甚至这是一组最小的基底。具体怎么构造呢?

考虑构造 \(\varphi(d)\) 次多项式 \(\Phi(x)=\prod_{i\perp d} (x-\omega_d^i)\),然后注意到这一定是整系数多项式,因为我们可以直接莫反,写成: \(\Phi(x)=\prod_{p|d} \Big(\prod_t (x-\omega_d^{pt})\Big)^{\mu(p)}\)。中间就是分圆多项式 \(x^{\frac{d}{p}}-1\),所以至少这个多项式的系数都没有虚数部分。再多注意一下这个形式可以发现这就是整系数多项式我注意不到

所以跟常系数齐次线性递推一样,注意到 \(\Phi(\omega_d)=0\),考虑直接计算多项式取模 \(x^k \bmod \Phi(x)\) 就可以得到一种低阶项对高阶项的线性组合表示。

然后怎么做这道题呢?题目让你求 \((\sum_i e^{\omega_d^ix})^k\) 这样的东西,由于 \(\varphi(4)=\varphi(6)=2\),所以这可以写成 \((\sum e^{(a_i+b_i\omega_d)x})^k\) 的形式。设二元多项式 \(F(u,v)=\sum u^{a_i} v^{b_i}\),我们就是要求 \(G=F^k\) 的每一项系数。

\(F\) 的项数很少,我们仿照一元多项式递推求幂的方法对二元多项式求偏导建立递推式就可以完成这个工作。

求完之后直接计算 \(\frac{1}{d^k}[\frac{x^n}{n!}]G(e^x,e^{\omega_d x})\) 就是答案。

posted @ 2024-04-07 11:54  yyyyxh  阅读(42)  评论(0编辑  收藏  举报