atcoder#AGC021E. [AGC021E] Ball Eat Chameleons

[AGC021E] Ball Eat Chameleons

题目描述

AtCoder 共和国では、カメレオン科ボールタベルカメレオン属に属するスヌケカメレオンがペットとして大人気です。 りんごさんは、N N 匹のスヌケカメレオンの個体をひとつのカゴに入れて飼っています。

何も食べていない状態のスヌケカメレオンは青色です。スヌケカメレオンは、次の規則で変色します。

  • 青いスヌケカメレオンは、これまでに食べた青いボールの個数よりこれまでに食べた赤いボールの個数の方が真に大きくなった時、赤色に変色する。
  • 赤いスヌケカメレオンは、これまでに食べた赤いボールの個数よりこれまでに食べた青いボールの個数の方が真に大きくなった時、青色に変色する。

最初、スヌケカメレオンたちはどの個体も何も食べていない状態です。りんごさんは、スヌケカメレオンたちに、以下の手順を K K 回繰り返すことで餌をやりました。

  • 赤いボールまたは青いボールを握る。
  • 握ったボールを、スヌケカメレオンたちの入ったカゴの中に投げ入れる。このとき、いずれか一匹がそのボールを食べる。

りんごさんが K K 個のボールを投げ入れたところ、全ての個体が赤色になっていました。りんごさんの K K 個のボールの投げ入れ方としてありうるものは何通りあるでしょうか。 998244353 998244353 で割った余りを求めてください。ただし、2 2 つの投げ入れ方が異なるとは、ある i i が存在し、i i 個目に投げ入れたボールの色が異なることを指します。

输入格式

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

N N K K

输出格式

K K 個のボールの投げ入れ方としてありうるものの個数を 998244353 998244353 で割った余りを出力せよ。

题目大意

nn 只变色龙,一开始都是蓝色。现在你喂了 kk 次球,每次指定一只变色龙吃下你指定颜色的球。

一只变色龙从蓝色变成红色当且仅当它吃的红球比蓝球多; 一只变色龙从红色变成蓝色当且仅当它吃的蓝球比红球多。

求最后能使所有变色龙都变成红色的方案数。

两个方案不同当且仅当至少一次喂的球颜色不同(而不是喂的变色龙不同)。

注意:存在一次喂的变色龙不同的两个方案可能是相同的方案。

2 4
7
3 7
57
8 3
0
8 10
46
123456 234567
857617983

提示

制約

  • 1  N,K  5 × 105 1\ \leq\ N,K\ \leq\ 5\ \times\ 10^5
  • N,K N,K は整数である

Sample Explanation 1

i i 個目に投げ入れるボールが赤のとき R を、青のとき B を順に並べた文字列を用いて投げ入れ方を表せば、 BRRR,RBRB,RBRR,RRBB,RRBR,RRRB,RRRR7 7 個が条件を満たします。