hdu 5894 (组合)
来源:互联网 发布:javascript 转义符 编辑:程序博客网 时间:2024/06/06 15:44
得到公式为:n * C(n - 1- m * k,m - 1) * n / m,记得特判一下m == 1即一个人的情况。
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<vector>#include<algorithm>#include<map>#include<set>#include<queue>using namespace std;const int maxn = 20 + 5;#define INF 0x3f3f3f3f#define clr(x,y) memset(x,y,sizeof x )typedef long long ll;#define eps 10e-8const int Mod = 1e9 + 7;typedef pair<int, int> P;ll pows(ll x,ll n){ ll ret = 1; while(n) { if(n & 1)ret = ret * x % Mod; n >>= 1;x = x * x % Mod; } return ret;}ll n,m,k;void solve(){ if(n - 1 - m * k < m - 1) { puts("0");return; } ll ans = 1; for(int i = 1; i <= m - 1; i ++) { ans = ans * (n - 1 - m * k - i + 1) % Mod * pows(i,Mod - 2) % Mod; } ans = ans * n % Mod * pows(m,Mod - 2) % Mod; printf("%I64d\n",(ans + Mod ) % Mod );}int main(){// freopen("out.txt","r",stdin); int Tcase;scanf("%d",&Tcase); while( Tcase --) { scanf("%I64d%I64d%I64d",&n,&m,&k); if(m == 1) { printf("%I64d\n",n);continue; } solve(); } return 0;}
阅读全文
0 0
- HDU 5894 组合数学
- hdu 5894 组合Lucas
- hdu 5894 (组合)
- hdu 4373 组合数学
- hdu 3944 组合数学
- hdu 4045 组合数学
- HDU -1261 组合数学。
- HDU 4159 组合数
- hdu 1521 排列组合 组合
- HDU Candy(数学 组合)
- HDU 1027 组合数学
- hdu 1220组合数学
- hdu 4869 组合数
- 【组合】HDU 3908 Triple
- hdu 4927 组合+公式
- HDU 5651组合数
- HDU 5651 (组合 水~)
- HDU 5651 组合数学
- HDU 2199 Can you solve this equation? 牛顿迭代法 || 二分
- hadoop的安装
- 合并区间-LintCode
- 矩阵的乘积【水题】
- 通过字节流复制粘贴文档
- hdu 5894 (组合)
- Fibonacci (矩阵快速幂)
- 仿京东首页的京东快报,自动向上滚动的广告条
- C#之入门总结_lamba,接口策略表达式排序 _22
- java有关异常的分析
- iOS KVO的实现原理
- Android Studio代码混淆
- IO流--RadomAccessFile类
- spring 定时任务