M - Deque and Inversions Editorial by maspy


\(i\) 番目の操作について考えます。

最適な操作の方法や転倒数の計算では、これまでに操作対象となった \(i-1\) 個の数と、新しい数の順序関係のみが問題です。

これまでに操作対象となった数のうち、新しい数よりも小さいものの個数は \(0, 1, \ldots, i-1\) 個のいずれかであり、すべての順列を考えるとこれらが等しい割合で現れます。したがって、\(i\) 個目の数を追加するときの転倒数の増加量の期待値の計算も簡単です。 (\(i=6\) ならば \((0+1+2+2+1+0)/6\)\(i=7\) ならば \((0+1+2+3+2+1+0)/7\) といった計算式になります。)

これらを \(i=1, 2, \ldots, N\) について加えたあとで \(N!\) をかければ答が得られます。

posted:
last update: