題目描述
求有多少種長度為n的序列a,滿足以下條件:
1~n這n個數在序列中各出現了一次
若第i個數a[i]的值為i,則稱i是穩定的。序列恰好有m個數是穩定的滿足條件的序列可能很多,序列數對10^9+7取模。
輸入第一行乙個數 t,表示有 t 組資料。
接下來 t 行,每行兩個整數 n、m。
t=500000,n≤1000000,m≤1000000
輸出輸出t行,每行乙個數,表示求出的序列數
樣例輸入
5樣例輸出1 01 1
5 2100 50
10000 5000
0120578028887
60695423
有m個位置的數要等於i,其他n-m個位置腰錯位,用f[i]=(i+1)*(f[i-1]*f[i-2])推一下,最後c(n,m)*f[n-m]就行了
#include #define ll long longusing
namespace
std;
const ll mod=1e9+7
;ll t,n,m;
ll f[
5000005],fac[5000005],inv[5000005];
void
init()
ll c(ll n,ll m)
intmain()
return0;
}
排列計數(dp)
主要題意就是給你乙個排列組合,要輸出指定ai i的個數輸出符合的排列組合與1000000007取模個數。input there are several test cases,and one line for each case,which contains two integers,n and k....
Perm排列計數
記憶體限制 512 mib 時間限制 1000 ms 標準輸入輸出 題目描述 稱乙個1,2,n的排列p1,p2.pn是magic的,當且僅當2 i n時,pi pi 2.計算1,2,n的排列中有多少是magic的,答案可能很大,只能輸出模p以後的值 輸入格式 輸入檔案的第一行包含兩個整數 n和p,含...
Perm 排列計數
題目描述 稱乙個1,2,n的排列p1,p2.pn是magic的,當且僅當2 i n時,pi pi 2.計算1,2,n的排列中有多少是magic的,答案可能很大,只能輸出模p以後的值 輸入格式 輸入檔案的第一行包含兩個整數 n和p,含義如上所述。輸出格式 輸出檔案中僅包含乙個整數,表示計算1,2的排列...