E - Dice Product 3 Editorial by w2w2

別解

まず、サイコロの \(1\) の目は何も影響を及ぼさないので、出ないものとしてよいです。すなわち、サイコロを振ると \(2\) から \(6\) の目が等確率で出るとします。
また、求める確率が正のとき、\(N=2^a3^b5^c\) と表せるので、表しておきます。
ここで、持っている整数が \(N\) に一致して、さらに一致するまでに \(4\) の目が \(i\) 回、\(6\) の目が \(j\) 回(ただし \(2i+j\leq a\), \(j\leq b\))出る確率は、そのとき \(2\) の目が \(a-2i-j\) 回、\(3\) の目が \(b-j\) 回、\(5\) の目が \(c\) 回出たことになるので、
\(\displaystyle\frac{((a-2i-j)+(b-j)+i+c+j)!}{(a-2i-j)!(b-j)!i!c!j!}\left(\displaystyle\frac{1}{5}\right)^{(a-2i-j)+(b-j)+i+c+j}=\displaystyle\frac{(a+b+c-i-j)!}{(a-2i-j)!(b-j)!i!j!c!}\left(\displaystyle\frac{1}{5}\right)^{a+b+c-i-j}\)
となります。これを \(2i+j\leq a\), \(j\leq b\) の範囲で動かして足し合わせたものが求める確率になります。
計算量は、\(a\), \(b\), \(c\) がそれぞれ \(O(\log N)\) であることに気を付けると、\(P = 998244353\) として \(O(\log^2 N+\log P)\) です。

実装例 : https://atcoder.jp/contests/abc300/submissions/41055526

posted:
last update: