Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
98658 CSYZZhangZH ssh C++ 解答错误 10 1974 MS 3404 KB 907 2023-08-16 12:15:03

Tests(1/10):


#include<bits/stdc++.h> #define int long long using namespace std; const int N=1e5+5,p=1e9+7; int tim[N],n[N],k[N],t,maxn,sum[N]; bool fl; int qpow(int x,int y){ int sum=1; while(y>0){ if(y&1) sum=sum*x%p; x=x*x%p; y>>=1; } return sum; } signed main(){ ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); cin>>t; tim[0]=1; for(int i=1;i<=1e5;++i) tim[i]=tim[i-1]*i%p; for(int i=1;i<=t;++i){ cin>>n[i]>>k[i]; maxn=max(maxn,n[i]); } if(maxn<=3000){ for(int i=1;i<=t;++i){ int ans=0; for(int j=0;j<=k[i];++j) ans=(ans+tim[n[i]]*qpow(tim[j],p-2)%p*qpow(tim[n[i]-j],p-2)%p)%p; cout<<ans<<'\n'; } }else{ for(int i=0;i<=n[1];++i) sum[i]=(sum[i-1]+tim[n[1]]*qpow(tim[i],p-2)%p*qpow(tim[n[1]-i],p-2)%p)%p; for(int i=1;i<=t;++i) cout<<sum[k[i]]<<'\n'; } return 0; }


测评信息: