atcoder#ARC104D. [ARC104D] Multiset Mean

[ARC104D] Multiset Mean

题目描述

正の整数 N, K, M N,\ K,\ M が与えられるので、1 1 以上 N N 以下の全ての整数 x x について、次の問題を解いてください。

  • 1, 2, 3 , N 1,\ 2,\ 3\ \cdots,\ N の各整数をそれぞれ 0 0 個以上 K K 個以下含むような空でない多重集合であって、平均が x x であるものの個数を M M で割った余りを求めよ。

输入格式

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

N N K K M M

输出格式

以下の形式で出力せよ。

c1 c_1 c2 c_2 : : cN c_N

ただし cx c_x は、平均が x x である多重集合の個数を M M で割った余りを表す。

题目大意

给出 n,k,mn,k,m。对于从 11nnxx,求有多少个不同的非空元素个数不超过 kk 可重集,满足它们的平均数为 xx,对 mm(质数)取模。

3 1 998244353
1
3
1
1 2 1000000007
2
10 8 861271909
8
602
81827
4054238
41331779
41331779
4054238
81827
602
8

提示

制約

  • 1  N, K  100 1\ \leq\ N,\ K\ \leq\ 100
  • 108  M  109 + 9 10^8\ \leq\ M\ \leq\ 10^9\ +\ 9
  • M M は素数である
  • 入力は全て整数である

Sample Explanation 1

1 1 以上 3 3 以下の整数をそれぞれ 0 0 個以上 1 1 個以下含むような空でない多重集合を考えます。 - 平均が x = 1 x\ =\ 1 である多重集合は、{1} \{1\} 1 1 個です。 - 平均が x = 2 x\ =\ 2 である多重集合は、{2}, {1, 3}, {1, 2, 3} \{2\},\ \{1,\ 3\},\ \{1,\ 2,\ 3\} 3 3 個です。 - 平均が x = 3 x\ =\ 3 である多重集合は、{3} \{3\} 1 1 個です。

Sample Explanation 2

1 1 以上 1 1 以下の整数をそれぞれ 0 0 個以上 2 2 個以下含むような空でない多重集合を考えます。 - 平均が x = 1 x\ =\ 1 である多重集合は、{1}, {1, 1} \{1\},\ \{1,\ 1\} 2 2 個です。