UVa11609
来源:互联网 发布:国家人文历史杂志 知乎 编辑:程序博客网 时间:2024/06/16 22:50
简介:有n个人,选一个或多个人参加比赛,从中选1个人当队长,有多少种方案
分析:
可以理解为,从n个人中选i个,再从这i个中选一个当队长
直接计算上式,时间不优秀,
所以我们考虑画柿子
上式实际上就是杨辉三角的第n行,每一个数乘以一个系数相加的结果
当n=5时
ans
=1*C(5,1)+2*C(5,2)+3*C(5,3)+4*C(5,4)+5*C(5,5)
=5+20+30+20+5
=31+26+26+6+1
=32*5/2
ans=(n*2^n)/2=n*2^(n-1)
//这里写代码片#include<cstdio>#include<cstring>#include<iostream>#define ll long longusing namespace std;const int mod=1000000007;ll KSM(ll a,int b){ ll t=1; a%=mod; while (b) { if (b&1) t=(t%mod*a%mod)%mod; b>>=1; a=(a%mod*a%mod)%mod; } return t%mod;}int main(){ int n; while (scanf("%d",&n)!=EOF&&n) { ll ans=(n%mod*KSM(2,n-1))%mod; printf("%lld\n",ans); } return 0;}
阅读全文
0 0
- UVA11609
- UVa11609
- Uva11609 teams
- 组队 UVa11609
- UVa11609 Teams
- Teams(uva11609+组合)
- UVa11609 - Teams(快速求幂)
- UVA11609 - Teams(组合数学+快速幂)
- java常用类练习05(用户注册、查询、修改、删除)
- openssl动态库生成以及交叉编译
- 2017.10.24一试
- 171021linux系统中的文件传输
- PCL简介以及在linux下的安装
- UVa11609
- Ubuntu系统下常用的新建、删除、拷贝文件命令
- 企业数字化也应该如何转型
- WPF DATAGRID 双重标题
- 单片机Keil C中的bdata
- wireshark使用问题汇总
- cookie与session的区别和联系 贴吧文章
- mybatis使用总结
- 关于巴比伦算法的 三个程序