No.066 D
数列には同じ数字が1種類2個存在する. この数字を とし, その位置を とする.
の数列の位置も区別する場合の長さ の部分列の個数は である. ここから を区別しないとしたときの重複分を引く.
重複は部分列に が1つだけ含まれる場合で, なおかつ と の間の数字が含まれない場合である. すなわち, の部分列のうち, を含む部分列の数となる.
数列 には 個の要素がある. これを とする. この数列の部分列のうち を含む部分列の数は, この数列のすべての部分列の数から を含まない部分列の数を差し引けばいいので, となる.
これで計算が で表せるようになった. 階乗とその逆元をあらかじめ計算しておけば, は で計算できるので, 全体の計算量は である.