解説

期待値の線形性に関する問題です。

(Num,Den)=(すべてのパターンの数列に対するコストの総和,ありうるすべてのパターンの個数)(Num,Den) = (すべてのパターンの数列に対するコストの総和,ありうるすべてのパターンの個数)

とします。

明らかにDen=KNDen = K^Nです。

定義より

E=NumDenE = \frac{Num}{Den}

であるため、NumNumの値を計算できれば期待値EEを計算することができます。以下このNumNumを求めることを考えましょう。

さて、1i<jN1 \le i < j \le Nを満たす自然数のペア(i,j)(i,j)に対して

P(i,j):=A[i],A[j]の二項間におけるNumへのコストへの寄与の総和P(i,j) := A[i],A[j]の二項間におけるNumへのコストへの寄与の総和

と定義します。

この時対称性より、(i,j)(i,j)の値によらずP(i,j)P(i,j)の値は同じです。

これを用いると、期待値の線形性より

Num=i<jP(i,j)Num = \displaystyle \sum_{i< j}^{} P(i,j)

=i=1Nj=i+1NP(i,j) = \displaystyle \sum_{i = 1}^{N} \sum_{j = i + 1}^{N} P(i,j)

=N(N1)2P(1,2) = \frac{N(N-1)}{2} * P(1,2)

となります。

後は、P(1,2)P(1,2)を求めれば良いです。

この値は、1iK1\le i \le K なる自然数iiに対して min(A[1],A[2])=imin(A[1],A[2]) = iなる数列AAの要素が何個あるかを考えれば良いです。

(1)A[1]>A[2](1) A[1] > A[2]

(2)A[1]<A[2](2) A[1] < A[2]

(3)A[1]=A[2](3) A[1] = A[2]

33パターンに分けて考えると、

P(1,2)=KN2(K2(K+1)K(K+1)(4K1)6)P(1,2) = K ^ {N - 2}(K^2(K + 1) - \frac{K(K + 1)(4K - 1)}{6})

であることがシグマ計算を用いてO(1)O(1)で求まります。

以上より求める期待値の値は

E=N(N1)2KN2(K2(K+1)K(K+1)(4K1)6)KNE = \frac{\frac{N(N-1)}{2} * K ^ {N - 2}(K^2(K + 1) - \frac{K(K + 1)(4K - 1)}{6})}{K^N}

です。

時間計算量はO(1)O(1)です。