#B. 排序

    传统题 1000ms 256MiB

排序

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

设有一个从 11nn 的排列 P=[p1,p2,,pn]P = [p_1, p_2, \dots, p_n],初始时为任意打乱的排列。

定义如下过程反复作用于 PP,直至 PP 恢复为升序排列:

  1. P=[1,2,,n]P = [1, 2, \dots, n],则结束操作。
  2. 扫描当前排列,若存在一个连续子区间 [i,i+1,,j][i, i+1, \dots, j],满足对于区间内任意相邻元素都有 pk+1pk=1p_{k+1} - p_k = 1,则将该区间视为一块粘连体。在后续操作中,该粘连体视作一个整体,不能被拆开。
  3. 将当前的所有粘连体(包括未粘连的单元素块和已经粘连的多元素块)打乱顺序,并将它们首尾连接成新的排列 PP,回到步骤 1。

注:步骤 2 中可以存在多个不相交的粘连区间,且粘连不可逆,即一旦粘连,不会拆开。

定义该过程的操作步骤数为执行“步骤 3”的次数,记为 XX。求 E(n)=E[X]E(n) = \mathbb{E}[X],即初始为任意排列时,该过程结束所需的期望步骤次数。由于答案可能为有理数,输出其模 109+710^9 + 7 意义下的值:

E(n)mod(109+7)\quad E(n) \bmod (10^9 + 7)

其中模运算应使用有理数模意义下的乘法逆元,即若 E(n)=abE(n) = \frac{a}{b},应输出 ab1mod(109+7)a \cdot b^{-1} \bmod (10^9 + 7),其中 b1b^{-1}bb 在模 109+710^9+7 下的乘法逆元。

输入格式

一行一个整数 nn (1n20001 \leq n \leq 2000),表示排列的大小。

输出格式

一行一个整数,表示 E(n)mod(109+7)E(n) \bmod (10^9 + 7)

样例输入

3

样例输出

333333338

样例说明

n=3n = 3 时,期望操作次数 E(3)=73E(3) = \dfrac 73

数据范围

测试点编号 nn
11
22 55
33 88
44 1010
55 1313
66 1000\leq 1000
77
88 2000\leq 2000
99
1010

NOIP 模拟赛 2025.7.9

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-7-9 8:30
结束于
2025-7-9 11:56
持续时间
3.4 小时
主持人
参赛人数
16