CE求助
查看原帖
CE求助
409871
SeanTheSheep楼主2021/8/12 09:55

代码:

#include <cstdio>

using namespace std;
typedef long long ll;

const int MOD = 1e9 + 7;

ll mpow(ll a, ll b) {
    ll p = 1;
    while (b) {
        if (b & 1) {
            p = (p * a) % MOD;
        }
        b >>= 1;
        a = (a * a) % MOD;
    }
    return p;
}

int main() {
    static ll fact[1000005] = {1};
    for (int i = 1; i <= 1e6; ++i) {
        fact[i] = fact[i - 1] * i % MOD;
    }
    static ll finv[1000005];
    finv[1000000] = mpow(fact[1000000], MOD - 2);
    for (int i = 1e6 - 1; i >= 0; --i) {
        finv[i] = finv[i + 1] * (i + 1) % MOD;
    }
    static ll d[1000005] = {1, 0};
    for (int i = 2; i <= 1e6; ++i) {
        d[i] = (i - 1) * (d[i - 1] + d[i - 2]) % MOD;
    }
    int t;
    scanf("%d", &t);
    while (t--) {
        int n, m;
        scanf("%d%d", &n, &m);
        printf("%lld\n", fact[n] * finv[m] % MOD * finv[n - m] % MOD * d[n - m] % MOD);
    }
    return 0;
}

提交:https://www.luogu.com.cn/record/55575075 可以看到CE了但是没有编译信息。 我在本地编译过了,所以请各位大佬帮忙找找问题。

2021/8/12 09:55
加载中...