题目名称 2224. [SDOI 2016] 排列计数
输入输出 menci_permutation.in/out
难度等级 ★★★
时间限制 3000 ms (3 s)
内存限制 128 MiB
测试数据 20
题目来源 GravatarMenci 于2016-04-11加入
开放分组 全部用户
提交状态
分类标签
数论
分享题解
通过:85, 提交:132, 通过率:64.39%
Gravatarzhengtn03 100 1.667 s 90.90 MiB C++
GravatarHellc 100 2.080 s 12.12 MiB C++
GravatarHellc 100 2.096 s 11.73 MiB C++
Gravatarzhengtn03 100 2.396 s 18.42 MiB C++
Gravatarthrfirs 100 2.591 s 29.29 MiB C++
GravatarFancy 100 2.866 s 25.67 MiB C++
Gravatar阿狸 100 2.970 s 11.76 MiB C++
Gravatarbhiaibogf 100 2.979 s 11.76 MiB C++
Gravatarthomount 100 3.021 s 36.53 MiB C++
Gravatargls1196 100 3.159 s 11.76 MiB C++
关于 排列计数 的近10条评论(全部评论)
高考难度的数学题。
woc一定要考虑n <= m的情况口牙不然会爆零的QaQ泪奔
Gravatarsxysxy
2017-02-28 08:03 3楼
到现在才知道错排公式是什么的辣鸡
GravatarCydiater
2017-02-27 20:02 2楼
裸的错排啊,这题考场上得A一大片吧
MD常数大如狗。。。难道是因为逆元的问题么,难道要预处理逆元?不过这样也快不到哪里去吧。。。
Gravatar铁策
2016-04-11 18:56 1楼

2224. [SDOI 2016] 排列计数

★★★   输入文件:menci_permutation.in   输出文件:menci_permutation.out   简单对比
时间限制:3 s   内存限制:128 MiB

【题目描述】

求有多少种长度为 \( n \) 的序列 \( A \),满足以下条件:

  • \( 1 \) ~ \( n \) 这 \( n \) 个数在序列中各出现了一次
  • 若第 \( i \) 个数 \( A[i] \) 的值为 \( i \),则称 \( i \) 是稳定的。序列恰好有 \( m \) 个数是稳定的

满足条件的序列可能很多,序列数对 \( 10 ^ 9 + 7 \) 取模。

【输入格式】

第一行一个数 \( T \),表示有 \( T \) 组数据。

接下来 \( T \) 行,每行两个整数 \( n \)、\( m \)。

【输出格式】

输出 \( T \) 行,每行一个数,表示求出的序列数。

【样例输入】

5
1 0
1 1
5 2
100 50
10000 5000

【样例输出】

0
1
20
578028887
60695423

【提示】

测试点 1 ~ 3:\( T = 1000 \),\( n \leq 8 \),\( m \leq 8 \);

测试点 4 ~ 6:\( T = 1000 \),\( n \leq 12 \),\( m \leq 12 \);

测试点 7 ~ 9:\( T = 1000 \),\( n \leq 100 \),\( m \leq 100 \);

测试点 10 ~ 12:\( T = 1000 \),\( n \leq 1000 \),\( m \leq 1000 \);

测试点 13 ~ 14:\( T = 500000 \),\( n \leq 1000 \),\( m \leq 1000 \);

测试点 15 ~ 20:\( T = 500000 \),\( n \leq 1000000 \),\( m \leq 1000000 \)。

【来源】

SDOI2016 Round1 Day2