1. 程式人生 > >Teams(數論+推理+快速冪)

Teams(數論+推理+快速冪)

題意:n個人,要挑k個人出來組隊,並選一個隊長,問有多少不同選法

思路::很容易推出答案是C(n, 1) * 1 + C(n, 2) * 2 +...+ C(n,n) * n。即C(n,i) * i (1 <= i <= n) 的和,化簡公式為 n * C(n - 1, i) = n * (1 + 1)^n = n * 2^n,然後用快速冪解決。

程式碼:

#include <stdio.h>
#include <string.h>

const long long MOD = 1000000007;
int t;
long long n;

long long pow_mid(long long n, long long k) {
	if (k == 0) return 1;
	if (k <= 1) return n % MOD;
	long long ans = pow_mid(n * n % MOD, (k>>1)) % MOD;
	if (k&1) ans = ans * n % MOD;
	return ans;
}

int main() {
	int cas = 0;
	scanf("%d", &t);
	while (t--) {
		scanf("%lld", &n);
		printf("Case #%d: %lld\n", ++cas, n * pow_mid(2, n - 1) % MOD);
	}
	return 0;
}


相關推薦

Teams數論+推理+快速

題意:n個人,要挑k個人出來組隊,並選一個隊長,問有多少不同選法 思路::很容易推出答案是C(n, 1) * 1 + C(n, 2) * 2 +...+ C(n,n) * n。即C(n,i) * i (1 <= i <= n) 的和,化簡公式為 n * C

HDU 6395 Sequence數論+矩陣快速

Description 定義序列F1=A,F2=B,Fn=C⋅Fn−2+D⋅Fn−1+⌊Pn⌋F1=A,F2=B,Fn=C⋅Fn−2+D⋅Fn−1+⌊Pn⌋,求FnFn Input 第一行一整數T

【FZU - 1759】Super A^B mod C 數論快速快速乘,尤拉降冪,指數迴圈節,模板

題幹: Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,C<=1000000000,1<=B<=10^1000000). Input There are mult

UVA10870—Recurrences簡單矩陣快速

src logs aps 矩陣 矩陣快速冪 分享 pow sizeof set 題目鏈接:https://vjudge.net/problem/UVA-10870 題目意思: 給出a1,a2,a3,a4,a5………………ad,然後算下面這個遞推式子,簡單的矩陣快速冪,裸題,

Chinese Rings 九連環+矩陣快速

game 百度一 const problem scan make then indicate urn 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 題目: Problem Description Dumbear

Educational Codeforces Round 52E構造,快速

#include <bits/stdc++.h>using namespace std;const int mod=998244353;long long b[200007];long long ksm(long long x,long long y){//快速冪   

UVA - 11582模計算+快速

#include<queue> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> typedef unsigned long long ll; u

計算係數多項式展開+快速

計算係數 時間限制: 1 Sec  記憶體限制: 128 MB 題目描述 給定一個多項式(by+ax)k,請求出多項式展開後xn * ym 項的係數。   輸入 共一行,包含5 個整數,分別為 a ,b ,

ACM-ICPC 2018 焦作賽區網路預賽 L. Poor God WaterBM/矩陣快速

通過本題,學到了一個非常NB的黑科技,杜教BM線性遞推模板 直接打表打出前幾項,丟入BM模板就過了,非常神奇,非常強大 網上說BM板子一般8個以上就穩了,賽後試了一下,這個題要丟入前10個數據才能AC。 #include <cstdio> #includ

組合數取模逆元+快速

組合大發好 一般我們用楊輝三角性質 楊輝三角上的每一個數字都等於它的左上方和右上方的和(除了邊界) 第n行,第m個就是,就是C(n, m) (從0開始) 電腦上我們就開一個數組儲存,像這樣 #include<cstdio> const int

Codeforces 337C:Quiz貪心+規律+快速

Note Sample 1. Manao answered 3 questions out of 5, and his score would double for each two consecutive correct answers. If Manao had answered the first

第二次講課內容函式和快速

函式 在c語言中 main() 就是一個函式,它是程式的主函式。 函式定義的一般格式: 返回型別 函式名(引數列表){ 函式體 } 返回型別 一個函式可以返回一個值,返回型別就是對應的值的型別。常見的有int、long long、bool、double、flo

演算法學習->尤拉降冪尤拉+快速

一、尤拉函式 尤拉函式是用來求n的質因數的個數。 ll ouler(ll n){ ll ans=n,a=n; for(ll i=2;i*i<=a;i++){

HDU 1005 Number Sequence矩陣乘法+快速

Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.

HDU 1005 Number Sequence基礎矩陣快速

//HDU 1005 15MS 1424K #include <cstdio> #include <cstring> #include <cmath> #in

【HDOJ 1005】 Number Sequence 裸矩陣快速

原諒我貼個水題。。。攢了一年的'恩怨'終於瞭解了 b( ̄▽ ̄)d 去年就接觸過矩陣快速冪 線代太弱  看他們程式碼沒參悟透。。可能真是悟性太差了。。 然後一隻以為矩陣快速冪是很叼的東西(不過確實很叼) 太高深 再沒敢碰。。有毒啊………… 直到最近比賽(VJ)出現矩陣快速冪

藍橋 壘骰子dp+矩陣快速

壘骰子賭聖atm晚年迷戀上了壘骰子,就是把骰子一個壘在另一個上邊,不能歪歪扭扭,要壘成方柱體。經過長期觀察,atm 發現了穩定骰子的奧祕:有些數字的面貼著會互相排斥!我們先來規範一下骰子:1 的對面是 4,2 的對面是 5,3 的對面是 6。假設有 m 組互斥現象,每組中的那

No more tricks, Mr Nanguo HDU - 3292pell + 矩陣快速

ger img map source ring rri fff gin bsp No more tricks, Mr Nanguo Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K

hdu6030推導+矩陣快速

Happy Necklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)