問題一覧 > スコア問題

No.2575 Almost Increasing Sequence

レベル : / 実行時間制限 : 1ケース 10.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 23
作問者 : hotman78hotman78 / テスター : noshi91noshi91
2 ProblemId : 10288 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-12-02 01:06:08

注意

本問はスコア問題ですが,最高得点が存在し,想定解にて最高得点を得ることが出来ます.
ただし,この問題の実行時間制限が厳しいので,最高得点を目指す場合高速な言語の利用を強く推奨します.
writer 解, tester 解の言語はともに C++ で,実行時間はそれぞれ 4024 ms, 673 ms です.

問題文

最初に非負整数 $K$ が与えられ,以下の様に数列 $(A_1, A_2, A_3, \dots )$ を定めます.

  • $A_n$ : 最長減少部分列の長さが $3$ であるような全ての要素数 $n$ の順列に対し,最長増加部分列の長さを $K$ 乗した値の総和を $998244353$ で割ったあまり

$30000$ 以下の正整数 $N$ を一つ決め, $N$ 以下の正整数 $n$ に対し $A_n$ をそれぞれ求めてください.

採点方法

一ケースあたりの貴方の得点は $N$ 点となります.また,テストケースは全部で $20$ 個あり,全テストケースの得点の合計が提出の得点となります.
ただし,出力が不正である場合は WA と判定され,AC 以外の判定を一つ以上のテストケースで得た解答の得点は $0$ 点となります.不正な出力とは以下を指します.

  • 出力形式に従わなかった
  • 誤った出力内容を出力した

コンテスト時間中に得た最高得点で最終順位が決定され,コンテスト期間終了後のリジャッジ,システムテスト等は予定しておりません.

制約

  • $0 \leq K \leq 10^9$
  • 入力は全て整数で与えられる

入力

$K$

出力

$N$
$A_1\ A_2 \dots A_{N}$

サンプル

サンプル1
入力
100
出力
4
0 0 1 954786991

長さが $2$ 以下の順列であって最長減少部分列の長さが $3$ である物は存在しません.
長さが $3$ の順列であって最長減少部分列の長さが $3$ であるのは $(3, 2, 1)$ のみでありこの順列の最長増加列の長さは $1$ であるため,$A_3= 1^{100}=1$ となります
長さが $4$ の順列であって最長減少部分列の長さが $3$ であるのは $(1, 4, 3, 2), (2, 4, 3, 1), (3, 2, 1, 4), (3, 2, 4, 1), (3, 4, 2, 1), (4, 1, 3, 2), (4, 2, 1, 3),(4, 2, 3, 1),(4, 3, 1, 2)$ の $9$ 通り存在し,いずれも最長増加部分列の長さは $2$ となるので,$A_4 \equiv 9 \times 2^{100} \equiv 954786991 \pmod {998244353}$ となります.
このテストケースに対し,この解答を提出した場合 $4$ 点が得られます.

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。