CF1957E.Carousel of Combinations
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数 n。函数 C(i,k) 表示从集合 {1,2,…,i} 中选出 k 个不同的数,并将它们排列成一个环的不同方法数 †。
求下式的值:
i=1∑nj=1∑i(C(i,j)modj)
这里,xmody 表示 x 除以 y 的余数。
由于答案可能非常大,请输出其对 109+7 取模的结果。
† 在环形排列中,如果一个序列可以通过旋转变成另一个序列,则认为它们是相同的。例如,[1,2,3] 和 [2,3,1] 在环中是等价的。
输入格式
第一行包含一个整数 t(1≤t≤105)——表示测试用例的数量。
每个测试用例仅包含一行,一个整数 n(1≤n≤106)。
输出格式
对于每个测试用例,输出一行一个整数,表示所求表达式对 109+7 取模的结果。
输入输出样例
输入#1
4 1 3 6 314159
输出#1
0 4 24 78926217
说明/提示
在第一个测试用例中,C(1,1)mod1=0。
在第二个测试用例中:
- C(1,1)=1(排列为:[1]);
- C(2,1)=2(排列为:[1],[2]);
- C(2,2)=1(排列为:[1,2]);
- C(3,1)=3(排列为:[1],[2],[3]);
- C(3,2)=3(排列为:[1,2],[2,3],[3,1]);
- C(3,3)=2(排列为:[1,2,3],[1,3,2])。
因此,总和为 (C(1,1)mod1)+(C(2,1)mod1)+(C(2,2)mod2)+(C(3,1)mod1)+(C(3,2)mod2)+(C(3,3)mod3)=4。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?