atcoder#ARC134F. [ARC134F] Flipping Coins
[ARC134F] Flipping Coins
题目描述
の番号がついた 枚のコインが並べられています。 はじめ、全てのコインは表を向いています。
すぬけ君は を並び替えて得られる順列 を等確率で つ選び 回操作を行います。 回目の操作では以下の処理が行われます。
- 番のコインが裏向きならば何もしない。
- 番のコインが表向きならば 番のコインをひっくり返した後 番のコインをひっくり返す。
回の操作の後、表向きのコインの枚数を としてすぬけ君はお母さんから 円もらえます。
すぬけ君が得られるお金の期待値に をかけた値(これは整数になることが証明できます)を で割ったあまりを求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
すぬけ君が得られるお金の期待値に をかけた値を で割った余りを出力せよ。
题目大意
给定一排 枚硬币,初始时所有硬币正面向上。
Snuke 会等概率地选择一个长度为 的排列 ,并执行 次操作。第 次操作会执行如下步骤:
- 若第 枚硬币是反面朝上的,什么也不做。
- 若第 枚硬币是正面朝上的,翻转它,并翻转第 枚硬币。
给定 。设 次操作完后正面朝上的硬币数为 ,则这排列的贡献即为 。
你需要求出这贡献的期望值乘 后在模 意义下的值。容易证明这值定是整数。
。
4 2
90
2 100
10001
200000 12345
541410753
提示
制約
- 与えられる入力は全て整数
Sample Explanation 1
- のとき、以下のように操作が行われます。 - 回目の操作では 番のコインが裏向きになり、その後 番のコインが表向きになります。 - 回目の操作では 番のコインが裏向きになり、その後 番のコインが裏向きになります。 - 回目の操作では 番のコインが裏向きになり、その後 番のコインが表向きになります。 - 回目の操作では何も行われません。 - 最終的に 枚のコインが表向きのため、 円もらえます。
Sample Explanation 3
- で割ったあまりを求めるのを忘れずに。