zoukankan      html  css  js  c++  java
  • AtCoder Grand Contest 025 B

    B - RGB Coloring

    求ax + by = k (0<=x<=n && 0<=y<=n)的方案数,最后乘上C(n, x)*C(n,y)

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define fi first
    #define se second
    #define pi acos(-1.0)
    #define LL long long
    #define mp make_pair
    #define pb push_back
    #define ls rt<<1, l, m
    #define rs rt<<1|1, m+1, r
    #define ULL unsigned LL
    #define pll pair<LL, LL>
    #define pii pair<int, int>
    #define piii pair<int,pii>
    #define mem(a, b) memset(a, b, sizeof(a))
    #define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    #define fopen freopen("in.txt", "r", stdin);freopen("out.txt", "w", stout);
    //head
    
    const int N = 3e5 + 5;
    const int MOD = 998244353;
    int inv[N], fac[N];
    LL q_pow(LL n, LL k) {
        LL ans = 1;
        while(k) {
            if(k&1) ans = (ans * n) % MOD;
            n = (n * n) % MOD;
            k >>= 1;
        }
        return ans;
    }
    void init() {
        fac[0] = 1;
        for (int i = 1; i < N; i++) fac[i] = (1LL * fac[i-1] * i) % MOD;
        inv[N-1] = q_pow(fac[N-1], MOD - 2);
        for (int i = N-2; i >= 0; i--) inv[i] = (1LL * inv[i+1] * (i+1)) % MOD;
    }
    LL C(int n, int k) {
        return 1LL* fac[n] * inv[n-k] % MOD * inv[k] % MOD;
    }
    int main() {
        int n, a, b;
        LL k;
        init();
        scanf("%d%d%d%lld", &n, &a, &b, &k);
        LL ans = 0;
        for (int x = 0; x <= n; x++) {
            LL t = k - 1LL*x*a;
            if(t < 0) break;
            if(t%b) continue;
            LL y = t/b;
            if(y > n) continue;
            ans += (C(n, x)*C(n, y)) % MOD;
            ans %= MOD;
        }
        printf("%lld
    ", ans);
        return 0;
    }
  • 相关阅读:
    关于slmgr命令
    .msi安装包安装方法(安装错误2503和2502)
    BIOS相关
    C和C#的区别
    关于del命令
    win8快捷键
    Windows 8 系统快捷键热键列表收集
    Android开发环境搭建
    关于Android sdkmanager目录结构的总结
    关于eclipse新建项目问题
  • 原文地址:https://www.cnblogs.com/widsom/p/9145110.html
Copyright © 2011-2022 走看看