求める確率をpnとします。n<mの時は前問と同じ解法で求めます。
以下ではn≥mの場合の解法について解説します。
vi=pipi+1⋮pi+m−1,P=000⋮01/m100⋮⋯1/m010⋮⋯⋯⋯0⋱⋮⋯⋯⋯⋯⋯⋱⋯⋯00⋮⋮11/m
(ただし、Pはm次正方行列とします)とおくと、vi+1=Pviが成立します。よって、pnはPnv0の第0成分に等しいです(ただし、p0=1とします)。
v0を求めるにはp0,p1,⋯pm−1をすべて求める必要があるので、この部分の計算量は前問の解説よりO(m)となります。また、行列乗算の計算量はO(m3logn)となります。
よって、全体の計算量はO(m3logn)となるので、十分時間内に間に合います。
質問・誤りがある場合
Twitterに連絡ください。ID : @YS55749378