S42107.21-7 提取系数

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

21-7 提取系数

提取系数

花束放好了,但Echo-0的数学迷宫里还有一个——多项式。一个复杂的多项式,需要提取系数。

"系数?"CC问。

"对。"你说,"给定两个多项式,求它们的乘积的某一项系数。"

"多项式?"

"对。"你说,"A(x)=aixiA(x)=\sum a_i x^iB(x)=bjxjB(x)=\sum b_j x^j。乘积C(x)=A(x)×B(x)C(x)=A(x)\times B(x)。"

"系数咋算?"

"卷积。"你说,"ck=i=0kaibkic_k=\sum_{i=0}^k a_i b_{k-i}。"

"直接算?"

"O(n2)O(n^2)。"你说,"但用FFT可以O(nlogn)O(n\log n)。"

"FFT?"

"快速傅里叶变换。"你说,"把多项式从系数表示转成点值表示,点乘,再转回来。"

"第47项系数。"你说,"c47=i=047aib47ic_{47}=\sum_{i=0}^{47} a_i b_{47-i}。"

"48项相加?"

"对。"你说,"如果直接算,48次乘法和加法。"

"FFT呢?"

"更快。"你说,"但nn小的时候,直接算更简单。"

"简单好。"CC说,"我喜欢简单。"

"那我们就直接算。"你说。

"你算,我看。"

"好。"你说,"我算,你看。"

Echo看着系数被一个个提取出来——像剥洋葱,像拆礼物,像某种复杂的东西被层层分解。

"以前这些系数是藏着的。"她说,"现在……被提取出来了。"

"因为你在帮我们。"CC说。

"对。"Echo说,"因为我在帮你们。"


题目描述

给定两个nn次多项式的系数,求它们乘积的各项系数。

输入格式

第一行nn。接下来两行,每行n+1n+1个整数表示系数。

输出格式

2n+12n+1个整数,表示乘积的各项系数。


输入样例

1 1 5 2 3

输出样例

10

提示

  • 暴力卷积O(n2)O(n^2)
  • FFT优化O(nlogn)O(n\log n)
  • 模数可用998244353(NTT友好)。

在线编程 IDE

建议全屏模式获得最佳体验