【模板】斯特林数

#include<bits/stdc++.h>
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
using namespace std;
const long long maxn=2005;
long long s1[maxn][maxn],s2[maxn][maxn],n,m;
const long long mod=1e9+7;
void getS1() {
    for(int i=0; i<=n; i++)s1[i][i]=1;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m&&j<=i; j++)
            s1[i][j]=(s1[i-1][j-1]+(i-1)*s1[i-1][j])%mod;
}
void getS2(){
    for(int i=1;i<=n;i++)s2[i][1]=1;
    for(int i=1;i<=n;i++){
        for(int j=2;j<=i&&j<=m;j++){
            s2[i][j]=(s2[i-1][j-1]+j*s2[i-1][j])%mod;
        }
    }
}
int main(){
    //freopen(" .in","r",stdin);
    //freopen(" .out","w",stdout);
    cin>>n>>m;
    getS2();
    cout<<s2[n][m];
}
posted @ 2022-12-16 17:28  changwenxuan  阅读(11)  评论(0)    收藏  举报  来源