题目 30026

多维卷积(循环)

查看题解 ↗GitHub ↗如何评测
题号
30026
时间限制
10000 ms
内存限制
1024 MB
标签
数学
来源
Library Checker (yosupo06) - multivariate_convolution_cyclic

【题目描述】

给定一个素数 pp,以及 Z/pZ\mathbb{Z}/p\mathbb{Z} 上的 KK 元多项式 f(x1,x2,…,xK)f(x_1, x_2, \dots, x_K) 与 g(x1,x2,…,xK)g(x_1, x_2, \dots, x_K)。

请在模 (1−x1N1,1−x2N2,…,1−xKNK)(1-x_1^{N_1}, 1-x_2^{N_2}, \dots, 1-x_K^{N_K}) 的意义下,计算 ff 与 gg 的乘积。

其中 NiN_i 是 p−1p-1 的约数。

【输入】

文本
$P$ $K$
$N_1$ $N_2$ ... $N_K$
$f$
$g$

ff、gg 是长度为 ∏Ni\prod N_i 的整数数组,元素均为 00 到 p−1p-1 之间的整数。

其中第 i=i1+i2N1+⋯+iKN1N2…NK−1i = i_1 + i_2 N_1 + \dots + i_K N_1 N_2 \dots N_{K-1} 个元素对应 (x1i1,x2i2,…,xKiK)(x_1^{i_1}, x_2^{i_2}, \dots, x_K^{i_K}) 的系数。

【输出】

文本
$fg$

fgfg 是长度为 ∏Ni\prod N_i 的整数数组,元素均为 00 到 p−1p-1 之间的整数。

与输入格式相同,第 i=i1+i2N1+⋯+iKN1N2…NK−1i = i_1 + i_2 N_1 + \dots + i_K N_1 N_2 \dots N_{K-1} 个元素对应 (x1i1,x2i2,…,xKiK)(x_1^{i_1}, x_2^{i_2}, \dots, x_K^{i_K}) 的系数。

【输入样例】

文本
101 1
5
1 2 3 4 5
6 7 8 9 10

【输出样例】

文本
19 24 24 19 9

【输入样例2】

文本
13 2
2 3
1 2 3 4 5 6
7 8 9 10 11 12

【输出样例2】

文本
1 11 1 11 3 0

【输入样例3】

文本
998244353 0

123
456

【输出样例3】

文本
56088

【数据范围】

  • 2≤p≤10000000002 \leq p \leq 1000000000
  • pp 是素数
  • 0≤K≤180 \leq K \leq 18
  • ∏Ni≤262144\prod N_i \leq 262144
  • 2≤Ni2 \leq N_i
  • NiN_i 是 p−1p-1 的约数

【来源】

Library Checker(yosupo06) multivariate_convolution_cyclic

数据下载

题目 30026 的公开数据

正在读取文件列表…

常用命令

题目 30026 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。