atcoder#AGC034F. [AGC034F] RNG and XOR
[AGC034F] RNG and XOR
题目描述
すぬけくんはある乱数生成器を手に入れました。 この乱数生成器は、 以上 以下の整数を生成します。 それぞれの整数を生成する確率は、整数列 によって表され、 整数 () が生成される確率は です。 ただしここで とします。 また、乱数生成は毎回独立に行われます。
すぬけくんは整数 を持っています。 今、 です。 すぬけくんは、次の操作を好きなだけ行うことが出来ます。
- 乱数生成器で一つの整数 を生成する。そして、 を で置き換える。 ただしここで、 はビットごとの排他的論理和を表す。
それぞれの整数 () について、 を にするために必要な操作の回数の期待値を求めてください。 ただし、期待値は mod で出力してください。 より正確には、期待値が既約分数 で表されるとき、 $ R\ \times\ Q\ \equiv\ P\ \mod\ 998244353,\ 0\ \leq\ R\ <\ 998244353 $ を満たす整数 が一意に定まるので、その を出力してください。
なお、すべての について、 を にするために必要な操作の回数の期待値が有理数として存在し、 さらに mod での整数表現が定義できることが問題の制約から証明できます。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
行出力せよ。 行目 () には、 を にするために必要な操作の回数の期待値を mod で出力せよ。
题目大意
给定 和一个长度为 的数组 (从 标号).
有一个初始为 的变量 . 不断操作, 每次操作以 的概率将 变成 .
对于所有 , 求出 第一次变成 的期望操作次数.
。
2
1 1 1 1
0
4
4
4
2
1 2 1 2
0
499122180
4
499122180
4
337 780 799 10 796 875 331 223 941 67 148 483 390 565 116 355
0
468683018
635850749
96019779
657074071
24757563
745107950
665159588
551278361
143136064
557841197
185790407
988018173
247117461
129098626
789682908
提示
制約
- 入力される値はすべて整数である。
Sample Explanation 1
回操作をした段階で なので、 を にするのに必要な操作回数の期待値は です。 また、どの状態から操作しても、操作後の の値はそれぞれ の確率で になります。 よって、 を にするのに必要な操作回数の期待値はいずれも です。
Sample Explanation 2
を にするのに必要な操作回数の期待値は、それぞれ です。