atcoder#ARC145F. [ARC145F] Modulo Sum of Increasing Sequences

[ARC145F] Modulo Sum of Increasing Sequences

题目描述

0 0 以上 M M 以下の整数からなる長さ N N の広義単調増加列 A=(A1,A2,,AN) A=(A_1,A_2,\ldots,A_N) のうち、以下を満たすものの個数を 998244353 998244353 で割ったあまりを各 K=0,1,,MOD1 K=0,1,\ldots,\mathrm{MOD}-1 に対して求めてください。

  • A A の要素の総和を MOD \mathrm{MOD} で割ったあまりが K K に等しい。

広義単調増加列とは ある数列 B B について、 B B の長さを B |B| としたとき、全ての整数 i i (1  i  B  1 1\ \le\ i\ \le\ |B|\ -\ 1 ) について、 Bi  Bi+1 B_i\ \leq\ B_{i+1} が成り立つとき、またそのときに限って、 B B は広義単調増加列です。

输入格式

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

N N M M MOD \mathrm{MOD}

输出格式

K=0,1,,MOD1 K=0,1,\ldots,\mathrm{MOD}-1 に対して、条件を満たす数列の個数を 998244353 998244353 で割ったあまりを出力せよ。

题目大意

  • 对于每个 0k<mod0\le k<mod 的整数 kk,求出长度为 nn,值域为 [0,m][0,m] 且满足 i=1naik(modmod)\sum_{i=1}^na_i\equiv k\pmod{mod} 的序列 aa 的个数。aa 是单调不减序列。

  • 1n,m1061\le n,m\le10^61mod5001\le mod\le500,答案对 998244353998244353 取模。

2 2 4
2 1 2 1
3 45 3
5776 5760 5760
1000000 1000000 6
340418986 783857865 191848859 783857865 340418986 635287738

提示

制約

  • 1  N ,M 106 1\ \leq\ N\ ,M\leq\ 10^6
  • 1 MOD 500 1\leq\ \mathrm{MOD}\leq\ 500
  • 入力は全て整数

Sample Explanation 1

0 0 以上 2 2 以下の整数からなる長さ 2 2 の広義単調増加列は (0, 0), (0, 1),(0,2), (1,1),(1,2),(2,2) (0,\ 0),\ (0,\ 1),(0,2),\ (1,1),(1,2),(2,2) 6 6 通りです。 - 総和を 4 4 で割ったあまりが 0 0 のもの:(0,0),(2,2) (0,0),(2,2) 2 2 通り - 総和を 4 4 で割ったあまりが 1 1 のもの:(0,1) (0,1) 1 1 通り - 総和を 4 4 で割ったあまりが 2 2 のもの:(0,2),(1,1) (0,2),(1,1) 2 2 通り - 総和を 4 4 で割ったあまりが 3 3 のもの:(1,2) (1,2) 1 1 通り です。

Sample Explanation 3

998244353 998244353 で割ったあまりを答えてください。