【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin...

题意:投一枚硬币向上的概率是q/p。问你投K枚硬币,向上的枚数为偶数枚的概率是?

要求的即为【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin..._第1张图片

这个东西是个二项展开式的偶数项系数和,来,我们复习一下高中数学,设f(x)=(ax+b)^n,则其偶数项系数和为(f(1)+f(-1))/2。

#include
using namespace std;
typedef long long ll;
#define MOD 1000000007ll
int T;
ll p,q,K;
ll Quick_Pow(ll a,ll p,ll mod){
	if(!p){
		return 1ll;
	}
	ll res=Quick_Pow(a,p>>1,mod);
	res=res*res%mod;
	if((p&1ll)==1ll){
		res=(a%mod*res)%mod;
	}
	return res;
}
int main(){
	//freopen("b.in","r",stdin);
	scanf("%d",&T);
	for(;T;--T){
		scanf("%lld%lld%lld",&p,&q,&K);
		printf("%lld\n",(((Quick_Pow(p,K,MOD)+Quick_Pow(p-2ll*q,K,MOD))%MOD*Quick_Pow(2ll,MOD-2ll,MOD))%MOD
		*Quick_Pow(Quick_Pow(p,K,MOD),MOD-2ll,MOD))%MOD);
	}
	return 0;
}

转载于:https://www.cnblogs.com/autsky-jadek/p/7532406.html

你可能感兴趣的:(【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin...)