atcoder#ABC260H. [ABC260Ex] Colorfulness

[ABC260Ex] Colorfulness

题目描述

1 1 から N N までの番号がついた N N 個のボールがあります。ボール i i には色 ai a_i がついています。

(1, 2, , N) (1,\ 2,\ \dots,\ N) を並べ替えた列 P = (P1, P2, , PN) P\ =\ (P_1,\ P_2,\ \dots,\ P_N) に対して C(P) C(P) を次のように定めます。

  • ボールを P1, P2, , PN P_1,\ P_2,\ \dots,\ P_N という順番に一列に並べたときの、異なる色のボールが隣り合っている場所の数。

(1, 2, , N) (1,\ 2,\ \dots,\ N) を並べ替えた列全体の集合を SN S_N と置きます。また、F(k) F(k) を次のように置きます。

$ \displaystyle\ F(k)\ =\ \left(\sum_{P\ \in\ S_N}C(P)^k\ \right)\ \bmod\ 998244353 $

F(1), F(2), , F(M) F(1),\ F(2),\ \dots,\ F(M) を列挙してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M a1 a_1 a2 a_2 \dots aN a_N

输出格式

答えを以下の形式で出力せよ。

F(1) F(1) F(2) F(2) \dots F(M) F(M)

题目大意

题目描述

给定 nn 个小球,第 ii 个小球上有一个数 aia_i

将小球按照任意顺序排列,定义分值为相邻两个小球数不同的对数。

对于每一个 k[1,m]k \in [1, m],求对于所有排列小球的方案中,分值的 kk 次方的和,对 998244353998244353 取模。

输入格式

第一行两个整数 n,mn, m

第二行 nn 个整数,表示数组 aa

输出格式

一行 mm 个整数,表示答案。

3 4
1 1 2
8 12 20 36
2 1
1 1
0
10 5
3 1 4 1 5 9 2 6 5 3
30481920 257886720 199419134 838462446 196874334

提示

制約

  • 2  N  2.5 × 105 2\ \leq\ N\ \leq\ 2.5\ \times\ 10^5
  • 1  M  2.5 × 105 1\ \leq\ M\ \leq\ 2.5\ \times\ 10^5
  • 1  ai  N 1\ \leq\ a_i\ \leq\ N
  • 入力される値はすべて整数

Sample Explanation 1

(P, C(P)) (P,\ C(P)) の組としてあり得るものを列挙すると次のようになります。 - P=(1,2,3) P=(1,2,3) のとき C(P) = 1 C(P)\ =\ 1 - P=(1,3,2) P=(1,3,2) のとき C(P) = 2 C(P)\ =\ 2 - P=(2,1,3) P=(2,1,3) のとき C(P) = 1 C(P)\ =\ 1 - P=(2,3,1) P=(2,3,1) のとき C(P) = 2 C(P)\ =\ 2 - P=(3,1,2) P=(3,1,2) のとき C(P) = 1 C(P)\ =\ 1 - P=(3,2,1) P=(3,2,1) のとき C(P) = 1 C(P)\ =\ 1 これらの値を F(k) F(k) に代入すれば答えを計算することができます。例えば $ F(1)\ =\ 1^1\ +\ 2^1\ +\ 1^1\ +\ 2^1\ +\ 1^1\ +\ 1^1\ =\ 8 $ です。