题目
题解
一眼看出来是这个式子 ∑ni=1C(n,i)∗i ,先选i个人然后随便选一个当队长,化了半天化不出来。
换了个思路,先确定队长,再选队员,那就是这个式子 n∗∑n−1i=0C(n−1,i) ,看到后面那一坨sigma感觉好像是杨辉三角的一层的和,画了画发现杨辉三角每一层的和依次是1,2,4,8,恩这不就出来了吗。
所以我们最后得到一个结论 ∑ni=1C(n,i)∗i=n∗∑n−1i=0C(n−1,i)=n∗2n−1
代码
//QWsin
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int MOD=1e9+7;
ll Pow(ll x,int p)
{
ll ret=1;
for(;p;p>>=1,x=x*x%MOD) if(p&1) ret=ret*x%MOD;
return ret;
}
int main()
{
int T,n,kase=0;cin>>T;
while(T--)
{
scanf("%d",&n);
printf("Case #%d: %lld\n",++kase,Pow(2,n-1)*n%MOD);
}
return 0;
}