1 条题解
-
0
自动搬运
来自洛谷,原作者为

Elegia
irony搬运于
2025-08-24 22:12:09,当前版本为作者最后更新于2020-06-02 11:19:17,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
一些解释以及复杂度的明确。
假设我们的模数是一个性质比较好的质数 ,满足在 上方程 有 个互异根,这就可以直接对问题施加高维 DFT,俗称“单位根反演”或者 FWT 等。也就是首先任取本源单位根 。
其中为了求算
$$f_{x_0x_1x_2\dots x_{m-1}} = \prod_{y=y_0y_1\dots y_{m-1}} (1+\omega^{\sum_{i=0}^{m-1}x_iy_i})^{cnt_y} $$我们需要添加占位多项式取模 ,通过
$$\prod_{y=y_0y_1\dots y_{m-1}} cnt_yx^{\sum_{i=0}^{m-1}x_iy_i} $$的计算来得到每个 需要做幂的上指标。事实上我们发现上述变换其实还是一个高维各自独立的变换,我们按照类似 FWT 的形式做转移,只需要做 次变换,每次可以在 甚至 (不实用)的时间完成变换,这部分的时间复杂度是 甚至 。
我们考虑用占位多项式来先代替扩域。预见到我们的过程中没有发生除法,那么所有的运算都是可进行的。而注意到模 有零因子,这等价于一个“数”被给出了多种表示。考虑本原多项式 ,由于在 时本原多项式分别是 和 ,经验证它们都不可因式分解。
如何验证? 上的多项式的不可约性检测方法是验证充要条件: 且对任意素数 ,有 。
根据定义有 ,因此 ,我们只需在原本占位多项式算得的结果基础上再进行这样一次约化,由于 系没有零因子,所以这个环是域,因而我们可以断言取模完了之后只剩下常数项。
接下来考虑 的计算,容易发现我们每个上指标 ,所以可以通过分块预处理 ,单次询问 。实际上取 就已经对效率没什么影响了。因为一项的乘积就是要计算 ,我们要将若干 相乘,第 个在 下标变换后可以认为是 项的,总共乘法消耗可以认为是 ,此时 在 取常数时是同阶的。
因此这种方法的复杂度是 。
- 1
信息
- ID
- 4549
- 时间
- 600ms
- 内存
- 125MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者