hdu 5894 分位置(组合数学,沈阳网络赛)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5894
分析:
代码: #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e9+7;
ll qmod(ll x,int n) {
ll ans=1;
for(; n; n>>=1) {
if(n&1)ans=ans*x%mod;
x=x*x%mod;
}
return ans;
}
ll C(int n,int m) {
if(m>n)return 0;
ll ans=1;
for(int i=1; i<=m; i++) {
ans=ans*((n+i-m)*qmod(i,mod-2)%mod)%mod;
}
return ans;
}
int main() {
// freopen("f.txt","r",stdin);
int T;
scanf("%d",&T);
ll n,m,k;
while(T--) {
scanf("%lld%lld%lld",&n,&m,&k);
if(m==1)printf("%lldn",n);
else
printf("%lldn",(C(n-k*m-1,m-1)*n%mod)*qmod(m,mod-2)%mod);
}
return 0;
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |