我是靠谱客的博主 任性鞋子,最近开发中收集的这篇文章主要介绍2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin(概率),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题意:一枚硬币,投一次正面朝上概率为q/p, 求投k次,正面朝上的次数为偶数次的概率X/Y,输出 (XY1)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(概率)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(80)

评论列表共有 0 条评论

立即
投稿
返回
顶部