CF1174E Ehab and the Expected GCD Problem

题目描述

我们定义一个函数 $f(p)$,作用于一个排列 $p$。令 $g_i$ 表示 $p_1, p_2, \ldots, p_i$ 的最大公约数(即长度为 $i$ 的前缀的最大公约数)。那么 $f(p)$ 就是 $g_1, g_2, \ldots, g_n$ 中不同元素的个数。 令 $f_{max}(n)$ 表示所有 $1, 2, \ldots, n$ 的排列 $p$ 中 $f(p)$ 的最大值。 给定整数 $n$,请计算有多少个排列 $p$ 满足 $f(p) = f_{max}(n)$。由于答案可能很大,请输出其对 $1000000007 = 10^9 + 7$ 取模的结果。

输入格式

一行一个整数 $n$($2 \le n \le 10^6$),表示排列的长度。

输出格式

输出一行,表示满足条件的排列个数对 $10^9+7$ 取模后的结果。

说明/提示

以第二个样例为例,长度为 $3$ 的排列如下: - $[1,2,3]$,$f(p)=1$。 - $[1,3,2]$,$f(p)=1$。 - $[2,1,3]$,$f(p)=2$。 - $[2,3,1]$,$f(p)=2$。 - $[3,1,2]$,$f(p)=2$。 - $[3,2,1]$,$f(p)=2$。 最大值 $f_{max}(3) = 2$,满足 $f(p)=2$ 的排列有 $4$ 个。 由 ChatGPT 4.1 翻译