順列すべての順列を見ていくのは明らかに無理なので、a[j]ごとに計算していく。なるような順列を数える。その数えをg(j)としておく。a[j]以上値の数えをyと置く。なるような数a[i]がなければa[j]を加算されないはず。0でなければならない。0さて、ある順列でa[j]が加算される必要十分条件はa[j]がa[j]以上の値の中で最も左にあり、かつa[j]より大きい値が存在することである。ように並んでいるとする。oのように同じものとみて問題ない。要するに添字の順が逆転できないのと添字を区別しないことで並べ方の数えが等しい。n個の添字のうちy個が同じであるときの並べ方を考えればn!/y!となる。Souveni...エディトリアル見て書いたコード。AtCoder月別アーカイブはてなブログをはじめよう!parukiiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。