CF1957E.Carousel of Combinations

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个整数 nn。函数 C(i,k)C(i,k) 表示从集合 {1,2,…,i}\{1,2,\ldots,i\} 中选出 kk 个不同的数,并将它们排列成一个环的不同方法数 †^\dagger。

求下式的值:

∑i=1n∑j=1i(C(i,j) mod j)\sum\limits_{i=1}^n \sum\limits_{j=1}^i \left( C(i,j) \bmod j \right)

这里,x mod yx \bmod y 表示 xx 除以 yy 的余数。

由于答案可能非常大,请输出其对 109+710^9+7 取模的结果。

†^\dagger 在环形排列中,如果一个序列可以通过旋转变成另一个序列,则认为它们是相同的。例如,[1,2,3][1,2,3] 和 [2,3,1][2,3,1] 在环中是等价的。

输入格式

第一行包含一个整数 tt(1≤t≤1051 \leq t \leq 10^5)——表示测试用例的数量。

每个测试用例仅包含一行,一个整数 nn(1≤n≤1061 \le n \le 10^6)。

输出格式

对于每个测试用例,输出一行一个整数,表示所求表达式对 109+710^9+7 取模的结果。

输入输出样例

  • 输入#1

    4
    1
    3
    6
    314159

    输出#1

    0
    4
    24
    78926217

说明/提示

在第一个测试用例中,C(1,1) mod 1=0C(1,1) \bmod 1 = 0。

在第二个测试用例中:

  • C(1,1)=1C(1,1)=1(排列为:[1]);
  • C(2,1)=2C(2,1)=2(排列为:[1],[2]);
  • C(2,2)=1C(2,2)=1(排列为:[1,2]);
  • C(3,1)=3C(3,1)=3(排列为:[1],[2],[3]);
  • C(3,2)=3C(3,2)=3(排列为:[1,2],[2,3],[3,1]);
  • C(3,3)=2C(3,3)=2(排列为:[1,2,3],[1,3,2])。

因此,总和为 (C(1,1) mod 1)+(C(2,1) mod 1)+(C(2,2) mod 2)+(C(3,1) mod 1)+(C(3,2) mod 2)+(C(3,3) mod 3)=4\left(C(1,1) \bmod 1\right) + \left(C(2,1) \bmod 1\right) + \left(C(2,2) \bmod 2\right) + \left(C(3,1) \bmod 1\right) + \left(C(3,2) \bmod 2\right) + \left(C(3,3) \bmod 3\right) = 4。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页