首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏你会烧尽还是结冰

    2020 Multi-University Training Contest 5

    *i%mod; res[i]=1ll*res[i-1]*p[i]%mod; m[i]=1ll*i*res[i]%mod; m[i]=qpow(m[i],mod (i,0,r) dp[i]=1; rep(i,r,n){ dp[i]=0; if((n-i)%(k+1)==1) continue; int inv=qpow(i+1,mod C(i-1,n+i-2)*inv2[n+i-2]%mod," \n"[i==n]); } int main(){ jc[0]=inv[0]=inv2[0]=1; int in2=qpow(2,mod rep(i,1,maxn) jc[i]=1ll*jc[i-1]*i%mod,inv2[i]=1ll*inv2[i-1]*in2%mod; inv[maxn-1]=qpow(jc[maxn-1],mod

    34520编辑于 2022-08-15
  • 来自专栏前端ACE

    「LibreOJ β Round #7」匹配字符串

    x=x*x%mod; k>>=1; } return s; } ll calc(ll n1) { ll ans=0,pw2=ksm2(2,n1),iv=ksm2(ksm2(2,m+1),mod f2() { fac[0]=inv[0]=1; for(int i=1;i<mod;i++) fac[i]=fac[i-1]*i%mod; inv[mod-1]=ksm2(fac[mod-1],mod -2); for(int i=mod-2;i>=1;i--) inv[i]=inv[i+1]*(i+1)%mod; printf("%lld\n",(calc(n+1)-calc(n)+mod)%mod

    27310编辑于 2022-11-21
  • 来自专栏你会烧尽还是结冰

    2020 Multi-University Training Contest 6

    if(sum>=mod) sum-=mod; } int l=1,r=n,t=sum,q=sum; while(l<=r){ ans+=1ll*t*qpow(l,mod -2)%mod; if(ans>=mod) ans-=mod; if(l==r) break; ans+=1ll*t*qpow(r,mod-2)%mod; t=t+q,l++,r--; if(t>=mod) t-=mod; } int u=1ll*n*(n+1)/2%mod; ans=1ll*ans*qpow(u,mod

    47420编辑于 2022-08-15
  • 来自专栏数据结构与算法

    洛谷 P3807 【模板】卢卡斯定理

    ; 26 } 27 LL C(LL n,LL m,LL mod) 28 { 29 if(m>n) return 0; 30 return js[n]*fastpow(js[m],mod -2,mod)*fastpow(js[n-m],mod-2,mod)%mod; 31 } 32 LL Lucas(LL n,LL m,LL mod) 33 { 34 if(m==0) return

    87940发布于 2018-04-11
  • 来自专栏wym

    逆元求组合数----模板

    ]=1; for(int i=1;i<=MAXN;i++) fac[i]=(long long)fac[i-1]*i%MOD; facinv[MAXN]=quickmul(fac[MAXN],MOD

    70210发布于 2018-08-30
  • 来自专栏wym

    杜教BM---解决线性递推

    =0) ++m; else if (2*L<=n) { VI T=C; ll c=mod-d*powmod(b,mod b=d; m=1; } else { ll c=mod-d*powmod(b,mod

    44710编辑于 2022-01-11
  • 来自专栏小樱的经验随笔

    浅谈切比雪夫多项式推导及其实现模版归类

    fz=fz*i%mod; 46 } 47 } 48 ll tmp=fz*qmod(fac[m],mod 59 t=t*i%mod; 60 } 61 ll tmp=fz*qmod(fac[m],mod -2)%mod*qmod(t, mod-2)%mod; 62 if((n-m)/2%2) 63 tmp=-tmp; 64

    3.4K60发布于 2018-04-10
  • 来自专栏wym

    HDU 6114 Chess

    ]=1; for(int i=1;i<=MAXN;i++) fac[i]=(long long)fac[i-1]*i%MOD; facinv[MAXN]=quickmul(fac[MAXN],MOD

    42720发布于 2018-08-30
  • 【51Nod】1013 - 3的幂的和(等比数列 & 逆元)

    } int main() { LL n; scanf ("%lld",&n); LL ans = quick_mod(3,n+1); ans--; LL inv = quick_mod(2,mod

    23110编辑于 2025-08-27
  • 来自专栏你会烧尽还是结冰

    2020牛客暑期多校训练营(第一场)

    main(){ jc[0]=inv[0]=1; rep(i,1,maxn) jc[i]=1ll*jc[i-1]*i%mod; inv[maxn-1]=qpow(jc[maxn-1],mod maxn-2,1) inv[i]=1ll*inv[i+1]*(i+1)%mod; while(~sc(n)) pf("%lld\n",qpow(1ll*(n+1)*C(n,2*n+1)%mod,mod

    41020编辑于 2022-08-15
  • 【CodeForces】554C - CodeForces 554C(组合数学)

    n >>= 1LL; } return ans; } LL C(int n, int m) { return fac[n] * pow_mod(fac[m], MOD -2) % MOD * pow_mod(fac[n-m], MOD-2) % MOD; } void getfac() { fac[0] = 1LL; for(int i = 1; i

    40110编辑于 2025-08-26
  • 来自专栏数据结构与算法

    洛谷P3704 [SDOI2017]数字表格

    fib[i]=(fib[i-1]%mod+fib[i-2]%mod)%mod; for(int i=1;i<=MAXN;i++) nfib[i]=(fastpow(fib[i],mod { nxt=min(N/(N/i),M/(M/i)); long long int pw=1ll*sum[nxt]*fastpow(sum[i-1],mod

    84390发布于 2018-04-10
  • 来自专栏福大大架构师每日一题

    2025-07-14:统计恰好有 K 个相等相邻元素的数组数目。用go语言,给定三个整数 n、m、k,定义一个长度为 n 的数组

    < MX; i++ {         fact[i] = fact[i-1] * int64(i) % MOD     }     invFact[MX-1] = qpow(fact[MX-1], MOD     for i in range(, MX):         fact[i] = fact[i-1] * i % MOD     invFact[MX-1] = qpow(fact[MX-1], MOD

    20800编辑于 2025-07-14
  • 来自专栏ypw

    河南理工大学新生挑战赛

    res; } ll solve(int n,int m){ n--; if(m%2==0) n--; m=(m-1)/2; printf("%lld\n",fac[n]*pow(fac[m],mod -2)%mod*pow(fac[n-m],mod-2)%mod); } int main() { int t,n,m; scanf("%d",&t); fac[0]=1; for(int i=1 return res; } //等比数列前x项之和 第一项为1 ll judge(ll x){ ll sum=(qp(4,x)-1+mod)%mod; return 2*sum*qp(3,mod

    49610发布于 2020-09-11
  • 来自专栏福大大架构师每日一题

    2025-07-31:最多 K 个元素的子序列的最值之和。用go语言,给定一个整数数组 nums 和一个正整数 k,求所有非空子

    for i := 1; i < mx; i++ { f[i] = f[i-1] * i % mod } invF[mx-1] = pow(f[mx-1], mod init(): for i in range(1, MX): f[i] = f[i-1] * i % MOD invF[MX-1] = pow_mod(f[MX-1], MOD

    21100编辑于 2025-08-05
  • 【51Nod】1119 - 机器人走方格V2(逆元 & 费马小定理 & 快速幂)

    int i = 1 ; i <= 2000000 ; i++) { fac[i] = ((LL)fac[i-1] * i) % mod; inv[i] = quick_mod(fac[i] , mod

    28810编辑于 2025-08-27
  • 来自专栏wym

    HDU 6397 Character Encoding(容斥+费马组合数)

    ]=1; for(int i=1;i<=MAXN;i++) fac[i]=(long long)fac[i-1]*i%MOD; facinv[MAXN]=quickmul(fac[MAXN],MOD

    43420发布于 2018-08-30
  • 来自专栏wym

    Codeforces Round #561 (Div. 2)

    void init(){ fac[0]=1; for(int i=1;i<=MAXN;i++) fac[i]=fac[i-1]*i%MOD; favin[MAXN]=quic(fac[MAXN],MOD

    43010发布于 2019-06-14
  • 来自专栏全栈程序员必看

    2014ACM/ICPC亚洲区西安站 F题 color (组合数学,容斥原理)

    x){ //(a/b) % c = a*inv[b] %c if(c is a prime number) inv[b] = (b^(c-2))%c; return quick_mod(x,mod

    31710编辑于 2022-07-07
  • 来自专栏你会烧尽还是结冰

    Codeforces Round #604解题报告

    ll a[maxn],q1[maxn],q2[maxn]; int main(){ int n; sc(n); rep(i,0,n) scl(a[i]); ll t=qpow(100,mod +1]%mod; q2[i]+=t*(100-a[i])%mod; q2[i]%=mod; } ll ans=q1[0]*qpow((1-q2[0]+mod)%mod,mod

    34930编辑于 2022-08-15
领券