No.066 D

数列には同じ数字が1種類2個存在する. この数字を とし, その位置を とする.

の数列の位置も区別する場合の長さ の部分列の個数は である. ここから を区別しないとしたときの重複分を引く.

重複は部分列に が1つだけ含まれる場合で, なおかつ の間の数字が含まれない場合である. すなわち, の部分列のうち, を含む部分列の数となる.

数列 には 個の要素がある. これを とする. この数列の部分列のうち を含む部分列の数は, この数列のすべての部分列の数から を含まない部分列の数を差し引けばいいので, となる.

これで計算が で表せるようになった. 階乗とその逆元をあらかじめ計算しておけば, で計算できるので, 全体の計算量は である.