loj2173 「FJOI2016」建筑师

Posted poorpool

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loj2173 「FJOI2016」建筑师相关的知识,希望对你有一定的参考价值。

ref
真是道组合数学神题啊……第一次见第一类斯特林数……

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
int T, n, a, b, s[50005][205], c[205][205];
const int mod=1e9+7;
int main(){
    for(int i=0; i<=50000; i++){
        if(i<=200)  s[i][i] = 1;
        for(int j=1; j<=min(i-1, 200); j++)
            s[i][j] = (s[i-1][j-1] + (ll)s[i-1][j]*(i-1)%mod) % mod;
    }
    for(int i=0; i<=200; i++){
        c[i][0] = 1;
        for(int j=1; j<=i; j++)
            c[i][j] = (c[i-1][j-1] + c[i-1][j]) % mod;
    }
    cin>>T;
    while(T--){
        scanf("%d %d %d", &n, &a, &b);
        printf("%d\n", (ll)s[n-1][a+b-2]*c[a+b-2][a-1]%mod);
    }
    return 0;
}

以上是关于loj2173 「FJOI2016」建筑师的主要内容,如果未能解决你的问题,请参考以下文章

[FJOI2016]建筑师(斯特林数)

[FJOI2016] 建筑师

[FJOI2016]建筑师

FJOI2016 建筑师 和 CF960G Bandit Blues

[Luogu4609][FJOI2016]建筑师

[题解] [FJOI2016] 建筑师