#P0565. [SDOI2016] 排列计数

    ID: 565 传统题 1000ms 256MiB 尝试: 9 已通过: 7 难度: 9 上传者: 标签>真题SDOI山东省选递推枚举数论费马小定理逆元组合数学排列组合

[SDOI2016] 排列计数

题目描述

求有多少种 11 到 nn 的排列 aa,满足序列恰好有 mm 个位置 ii,使得 ai=ia_i = i。

答案对 109+710^9 + 7 取模。

输入格式

本题单测试点内有多组数据。

输入的第一行是一个整数 TT,代表测试数据的整数。

以下 TT 行,每行描述一组测试数据。

对于每组测试数据,每行输入两个整数,依次代表 nn 和 mm。

输出格式

共输出 TT 行,对于每组测试数据,输出一行一个整数代表答案。

5
1 0
1 1
5 2
100 50
10000 5000
0
1
20
578028887
60695423

数据规模与约定

本题共 20 个测试点,各测试点等分,其数据规模如下表。

测试点编号 T=T = n,m≤n, m \leq 测试点编号 T=T = n,m≤n, m \leq
1∼31\sim 3 10310^3 88 10∼1210 \sim 12 10310^3 10310^3
4∼64 \sim 6 1212 13∼1413 \sim 14 5×1055 \times 10^5
7∼97 \sim 9 100100 15∼2015 \sim 20 10610^6

对于全部的测试点,保证 1≤T≤5×1051 \leq T \leq 5 \times 10^5,1≤n≤1061 \leq n \leq 10^6,0≤m≤1060 \leq m \leq 10^6。