2 条题解

  • 1
    @ 2022-5-7 18:52:45

    签到题看错模数。。。 1e8+7 什么鬼

    #include <stdio.h>
    #include <iostream>
    
    typedef long long ll;
    using namespace std;
    const ll Mod = 1e8+7;
    
    ll n, m, i, j, k;
    
    ll qp(ll a, ll b) {
        ll res = 1;
        while(b) {
            if(b & 1) res = res*a % Mod;
            a = a*a % Mod;
            b >>= 1;
        }
        return res;
    }
    ll inv(ll x) { return qp(x, Mod-2); }
    ll C(ll n, ll m) {
        ll ans = 1, div = 1;
        for(i = n-m+1; i <= n; ++i) ans = ans*i % Mod;
        for(i = 2; i <= m; ++i) div = div*i % Mod;
        return ans*inv(div) % Mod;
    }
    int main() {
        cin >> n >> m;
        m = min(m, n-m);
        cout << C(n, m);
        return 0;
    }
    
    • 0
      @ 2022-5-7 18:00:01

      「10年OI一场空,看错模数见祖宗」

      然后就是求C(n,m),没别的了

      #include<iostream>
      using namespace std;
      #define ll long long
      const ll M = 1e8 + 7;
      ll qpow(ll a, ll b){
          ll ans = 1, base = a;
          while (b){
              if (b&1) ans = ans * base % M;
              base = base * base % M;
              b >>= 1;
          }
          return ans;
      }
      int main(){
          ll n, m, c=1;
          cin >> n >> m;
          for (int i = 1;i <= m;++i){
              c = c * (n+1-i) % M;
              c = c * qpow(i, M-2) % M;
          }
          cout << c;
      }
      
      • 1

      信息

      ID
      1884
      时间
      1000ms
      内存
      256MiB
      难度
      9
      标签
      (无)
      递交数
      522
      已通过
      33
      上传者