概述
题意:一枚硬币,投一次正面朝上概率为q/p, 求投k次,正面朝上的次数为偶数次的概率X/Y,输出 (X∗Y−1)mod(109
+7)
思路:
代码:
#include<bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
typedef long long ll;
ll p, q, n;
ll qmod(ll x, ll q)
{
ll res = 1;
while(q)
{
if(q%2) res = res*x%mod;
x = x*x%mod;
q /= 2;
}
return res;
}
int main(void)
{
int _;
cin >> _;
while(_--)
{
scanf("%lld%lld%lld", &p, &q, &n);
ll ni2 = qmod(2LL, mod-2);
ll fm = qmod(p, n);
ll fz = qmod(p-2*q, n);
ll nifm = qmod(fm, mod-2);
ll tmp = (1+fz*nifm%mod)%mod*ni2%mod;
printf("%lldn", tmp);
}
return 0;
}
最后
以上就是任性鞋子为你收集整理的2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(概率)的全部内容,希望文章能够帮你解决2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(概率)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复