問題一覧 > 通常問題

No.1671 Permutation Tour

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 68
作問者 : NatsubiSogan / テスター : nok0
4 ProblemId : 6949 / 自分の提出
問題文最終更新日: 2021-09-04 15:55:29

問題文

2 以上の整数 N が与えられます。

(1,2,...,N) を並べ替えた数列 P=(P1,P2,...,PN) に対し、周遊コスト を以下のように定義します。

  • 数列 Q=(Q1,Q2,...,QN) を以下のように定義する。(この定義から、Q は常に一意に定まる)
    • すべての i (1iN) について、 QPi=i が成り立つ
  • 周遊コスト は |Q1Q2|+|Q2Q3|++|QN1QN|+|QNQ1| である。

あなたは、P を考えられる N! 通りから一様ランダムに選択します。P の 周遊コスト の期待値を mod109+7 で求めてください。

期待値を mod109+7 で出力するとは?(クリックで開けます)

求める値は必ず有理数となります。これを既約分数 pq としましょう。ここで、q0(mod109+7) となることが証明できます。このもとで、rqp(mod109+7) を満たす 0 以上 109+7 未満の整数 r が一意に定まるので、r を出力してください。

入力

N
  • N2N109 を満たす整数

出力

周遊コスト の期待値を mod109+7 で出力してください。

最後に改行してください。

サンプル

サンプル1
入力
2
出力
2
  • P=(1,2) のとき:Q=(1,2) となるので、周遊コスト は |Q1Q2|+|Q2Q1|=|12|+|21|=2
  • P=(2,1) のとき:Q=(2,1) となるので、周遊コスト は |Q1Q2|+|Q2Q1|=|21|+|12|=2

よって、周遊コスト の期待値は 2+22!=2 です。

サンプル2
入力
314159265
出力
136209063

期待値を mod109+7 で出力することに注意してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。