No.3771 Leq-K Partition Multiplied
レベル : / 実行時間制限 : 1ケース 8.000秒 / メモリ制限
: 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 6
作問者 :
apricity
/ テスター :
kaichou243
タグ : / 解いたユーザー数 6
作問者 :
apricity
/ テスター :
問題文最終更新日: 2026-09-21 20:37:39
yukicoder contest 518
(順位表)
の他の問題:
問題文
正整数 $N,M,K,X$ が与えられます.
整数列 $A$ に対して,以下の問題の答えを $f(A)$ とします.
$A$ を空でない 連続 部分列に分割することを考えます. $A$ の各要素はちょうど $1$ つの部分列に属している必要があります. 全ての部分列について,現れる値の種類数が $K$ 以下となるように分割する際に,最小で何個の部分列に分割する必要があるか求めてください.
$1$ 以上 $M$ 以下の整数からなる長さ $n$ の整数列 $A$ は $M^n$ 通り考えられますが,それらすべてに対する $f(A)^X$ の総和を $S_n$ とおきます.
$n = 1,2,\dots,N$ に対して, $S_n$ を $998244353$ で割った余りを求めてください.
入力
$N\ M\ K\ X$
- 入力は全て整数.
- $1 \leq N \leq 2\times 10^5$
- $1 \leq M \leq 10^{18}$
- $1 \leq K \leq 2\times 10^5$
- $1 \leq X \leq 10^{18}$
出力
$N$ 行出力してください. $n$ 行目には $S_n$ を $998244353$ で割った余りを出力してください.
サンプル
サンプル1
入力
3 3 2 1
出力
3 9 33
$n=3$ の場合について考えます.
- $(1,2,3)$ は, $(1,2), (3)$ のように $2$ 個の部分列に分割できます.
- $(1,2,2)$ は, $(1,2,2)$ のように $1$ 個の部分列に分割できます.
$A$ として考えられるものは $3^3=27$ 通りありますが,そのうち $(1,2,3)$ の並び替え( $6$ 通り)について $f(A) = 2$ ,それ以外( $21$ 通り)について $f(A) = 1$ です. よって $S_3 = 6\times 2^1 + 21 \times 1^1 = 33$ です.
サンプル2
入力
4 2 3 2
出力
2 4 8 16
サンプル3
入力
10 122333444455555 3 9876543210
出力
595484111 116899793 297334529 660167065 603008404 232613563 68193567 936419468 625547368 48824042
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。