uva 11609 - Teams(组合数学+快速幂)
来源:互联网 发布:club域名怎么用 编辑:程序博客网 时间:2024/06/05 18:59
题目链接:uva 11609 - Teams
题目大意:给出n,表示说有n个人,标好1~n,现在选若干人组成一队,并且选出一个队长,问说可以选多少种队伍,队长,人数,成员不同均算不同的队伍。
解题思路:枚举人数为1、2....n的情况,那么就有1*C(n,1)+2*C(n,2)+3*C(n,3)+4*C(n,4) .....n*C(n,n),然后从中提取出n,每一项前的系数刚好与C约分。n*(C(n-1,0) + C(n-1,1) ....+C(n-1,n-2)+C(n,n)),注:C(n,n) = C(n-1,n-1)
然后后面的即为(1+1)^n的展开项。剩下的就是快速幂,注意要用long long。
#include <stdio.h>#include <string.h>typedef long long ll;const ll MOD = 1000000007;ll sPow (ll a, ll n) {ll x = 1;while (n) {if (n&1)x = (x * a) % MOD;n /= 2;a = (a * a) % MOD;}return x;}int main () {int cas;ll n;scanf("%d", &cas);for (int i = 1; i <= cas; i++) {scanf("%lld", &n);printf("Case #%d: %lld\n", i, n * sPow(2, n-1) % MOD);}return 0;}
1 0
- uva 11609 - Teams(组合数学+快速幂)
- UVa 11609 Teams (组合数学)
- UVa 11609 Teams (组合数学)
- UVa-11609 Teams(组合+快速幂)
- UVa 11609 Teams(快速幂+数学)
- UVa 11609 - Teams (组合数学)
- UVA11609 - Teams(组合数学+快速幂)
- UVa 11609 - Teams(组合数+快速幂)
- UVA 11609 - Teams 组合、快速幂取模
- Uva 11609 - Teams 解题报告(组合数学)
- UVA-11609-Teams-组合计数
- UVA 11609 - Teams(数论+推理+快速幂)
- uva 11609 组合数学
- UVA 11609 (组合数学)
- UVa:11609 Teams
- UVa 11609 - Teams
- uva 11609 - Teams
- UVA 11609 Teams
- 求子数组的最大和
- C++——数学函数汇总
- 第五周作业——有向图邻接表表示及反向图构造
- 经典排序之插入排序
- 今天是我计划的第一天
- uva 11609 - Teams(组合数学+快速幂)
- 百度suggestion功能的Trie实现(附代码)
- 火车过站
- 背包问题
- 【转】Java的时间处理(续<Java日期的创建和使用>)
- xcode5 工程不用ARC
- ZOJ 2208 水题
- linux signal
- iOS中高级工程师所要知道的问题