[Agc001E] BBQ Hard

Posted wxjor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Agc001E] BBQ Hard相关的知识,希望对你有一定的参考价值。

[Agc001E] BBQ Hard

题目大意

给定(n)对正整数(a_i,b_i),求(sum_{i=1}^{n-1} sum_{j=i+1}^n inom{a_i+b_i+a_j+b_j}{a_i+a_j})

试题分析

显然,后面的式子是一个(inom{n+m}{m})的形式,也就是我们从位置((-a_i,-b_i))走到位置((a_j,b_j))
那么我们把式子转化成:[frac{sum_{i=1}^n sum_{j=1}^n inom {a_i+b_i+a_j+b_j} {a_i+a_j} - sum_{i=1}^n inom{a_i+b_i+a_i+b_i}{a_i+b_i} }{2}]
然后前面的可以直接dp,后面的直接算就好了。

#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#include<cstdio>
#include<algorithm>
using namespace std;
 
#define LL long long
 
inline int read(){
    int x=0,f=1;char c=getchar();
    for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;
    for(;isdigit(c);c=getchar()) x=x*10+c-'0';
    return x*f;
}
const int INF=9999999;
const int MAXN=300010;
const int MAXM=2010;
const int Mod = 1e9+7;
 
int N; int a[MAXN+1],b[MAXN+1];
int f[MAXM*2+1][MAXM*2+1];
LL ifac[MAXN+1],fac[MAXN+1],inv[MAXN+1];
int A[MAXN+1],B[MAXN+1];
 
inline LL C(LL n,LL m){
    if(n<m) return 0; if(n==m||!m) return 1;
    return fac[n]*ifac[m]%Mod*ifac[n-m]%Mod;
}
 
int main(){
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    N=read(); fac[0]=1; inv[1]=1; ifac[1]=ifac[0]=1; LL ans=0;
    for(int i=1;i<=(MAXM<<2)+100;i++) fac[i]=fac[i-1]*i%Mod;
    for(int i=2;i<=(MAXM<<2)+100;i++){
        inv[i]=(Mod-(Mod/i))*inv[Mod%i]%Mod;
        ifac[i]=ifac[i-1]*inv[i]%Mod;
    }
    for(int i=1;i<=N;i++){
        A[i]=read(),B[i]=read();
        f[MAXM-A[i]][MAXM-B[i]]++;
        ans=(ans-C(A[i]*2+B[i]*2,A[i]*2)%Mod+Mod)%Mod;
    }
    for(int i=1;i<=MAXM*2;i++){
        for(int j=1;j<=MAXM*2;j++){
            (f[i][j]+=f[i-1][j])%=Mod;
            (f[i][j]+=f[i][j-1])%=Mod;
        }
    }
    for(int i=1;i<=N;i++){
        (ans+=f[A[i]+MAXM][B[i]+MAXM])%=Mod;
    } printf("%lld
",ans*inv[2]%Mod);
    return 0;
}

以上是关于[Agc001E] BBQ Hard的主要内容,如果未能解决你的问题,请参考以下文章

AtCoder1983 [AGC001E] BBQ Hard

[AGC001 E]BBQ Hard

AGC.001E.BBQ Hard(组合 DP)

AGC001 E BBQ Hard

luogu AT1983 BBQ Hard

[AGC06D] Median Pyramid Hard (玄学)