#2870. Polynomial Construction

0

Polynomial Construction

Polynomial Construction

题目描述

已知一个素数 pp 和一个由 pp 个 0-1 整数组成的序列 a0,…,ap−1a_0, \ldots, a_{p-1}。 求一个次数至多为 p−1p-1 的多项式 $f(x) = b_{p-1} x^{p-1} + b_{p-2} x^{p-2} + \ldots + b_0$,满足以下条件:

对于每个 ii (0≤i≤p−1)(0 \leq i \leq p-1),bib_i 是一个整数且满足 0≤bi≤p−10 \leq b_i \leq p-1。 对于每个 ii (0≤i≤p−1)(0 \leq i \leq p-1),f(i)≡ai(modp)f(i) \equiv a_i \pmod p。

输入格式

输入按下列格式从标准输入给出: pp a0a_0 a1a_1 …\ldots ap−1a_{p-1}

输出格式

输出满足条件的多项式 f(x)f(x) 的系数 b0,b1,…,bp−1b_0, b_1, \ldots, b_{p-1},按此顺序并以空格分隔输出。 可以证明解总是存在。如果存在多个解,接受任意一个。

2
1 0
1 1
3
0 0 0
0 0 0
5
0 1 0 1 0
0 2 0 1 3

提示

2≤p≤29992 \leq p \leq 2999 pp 是素数。 0≤ai≤10 \leq a_i \leq 1f(x)=x+1f(x) = x + 1 满足条件,如下所示:

f(0)=0+1=1≡1(mod2)f(0) = 0 + 1 = 1 \equiv 1 \pmod 2 f(1)=1+1=2≡0(mod2)f(1) = 1 + 1 = 2 \equiv 0 \pmod 2
f(x)=0f(x) = 0 也是有效的。

标签: AtCoder|abc137F

来源

AtCoder|abc137F