链接:https://ac.nowcoder.com/acm/contest/894/C
来源:牛客网

华华跟奕奕玩游戏
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld
题目描述
有一个箱子,开始时有n个黑球,m个蓝球。每一轮游戏规则如下:
第一步:奕奕有p的概率往箱子里添加一个黑球,有(1-p)的概率往箱子里添加一个蓝球。
第二步:华华随机从箱子里取出一个球。
华华喜欢黑球,他想知道k轮游戏之后箱子里黑球个数的期望。
输入描述:
输入五个整数n,m,k,a,b。
1<=n,m<=1e6,1<=k<=1e9
其中p=\frac{a}{b}
b
a

,且a<=b,0<=a<1e9+7,0<b<1e9+7
输出描述:
输出一个数表示k轮游戏后箱子里黑球个数的期望。
输出一个整数,为答案对1e9+7取模的结果。即设答案化为最简分式后的形式为\frac{a}{b}
b
a

,其中a和b互质。输出整数 x 使得bx≡a(mod 1e9+7)且0≤x<1e9+7。可以证明这样的整数x是唯一的。
示例1
输入
复制
2 2 1 1 2
输出
复制
2
示例2
输入
复制
2 2 2 3 10
输出
复制
184000003

思路:

这位哥哥写的非常好。
推荐!

https://blog.csdn.net/weixin_43702895/article/details/90343536#commentBox

细节见代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
#include <iomanip>
#define ALL(x) (x).begin(), (x).end()
#define sz(a) int(a.size())
#define all(a) a.begin(), a.end()
#define rep(i,x,n) for(int i=x;i<n;i++)
#define repd(i,x,n) for(int i=x;i<=n;i++)
#define pii pair<int,int>
#define pll pair<long long ,long long>
#define gbtb ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define MS0(X) memset((X), 0, sizeof((X)))
#define MSC0(X) memset((X), '\0', sizeof((X)))
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define eps 1e-6
#define gg(x) getInt(&x)
#define chu(x) cout<<"["<<#x<<" "<<(x)<<"]"<<endl
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
ll powmod(ll a,ll b,ll MOD){ll ans=1;while(b){if(b%2)ans=ans*a%MOD;a=a*a%MOD;b/=2;}return ans;}
inline void getInt(int* p);
const int maxn=1000010;
const int inf=0x3f3f3f3f;
/*** TEMPLATE CODE * * STARTS HERE ***/ll n,m,k,a,b;
const ll mod=1e9+7ll;ll inv(ll a)
{return powmod(a,mod-2ll,mod);
}
int main()
{//freopen("D:\\common_text\\code_stream\\in.txt","r",stdin);//freopen("D:\\common_text\\code_stream\\out.txt","w",stdout);cin>>n>>m>>k>>a>>b;ll ans=(n-a*(n+m)%mod*inv(b)%mod+mod)%mod*(powmod(n+m,k,mod))%mod*inv(powmod(n+m+1ll,k,mod))%mod+a*(n+m)%mod*inv(b)%mod;ans%=mod;cout<<ans<<endl;return 0;
}inline void getInt(int* p) {char ch;do {ch = getchar();} while (ch == ' ' || ch == '\n');if (ch == '-') {*p = -(getchar() - '0');while ((ch = getchar()) >= '0' && ch <= '9') {*p = *p * 10 - ch + '0';}}else {*p = ch - '0';while ((ch = getchar()) >= '0' && ch <= '9') {*p = *p * 10 + ch - '0';}}
}

转载于:https://www.cnblogs.com/qieqiemin/p/11345942.html

牛客练习赛46 C 华华跟奕奕玩游戏 (期望,概率)(详解)相关推荐

  1. 牛客练习赛46 B 华华送奕奕小礼物 (预处理前缀和,二分)

    链接:https://ac.nowcoder.com/acm/contest/894/B?&headNav=acm 来源:牛客网 华华送奕奕小礼物 时间限制:C/C++ 1秒,其他语言2秒 空 ...

  2. 牛客练习赛46 A 华华教奕奕写几何 (简单数学)

    链接:https://ac.nowcoder.com/acm/contest/894/A 来源:牛客网 华华教奕奕写几何 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K ...

  3. 最小生成树--牛客练习赛43-C

    牛客练习赛43-C 链接: https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 ​ 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 ...

  4. 牛客练习赛43 Tachibana Kanade Loves Probability(快速幂)

    链接:https://ac.nowcoder.com/acm/contest/548/B 来源:牛客网 题目描述 立华奏在学习初中数学的时候遇到了这样一道大水题: "设箱子内有 n 个球,其 ...

  5. 牛客练习赛43 回顾

    链接:https://ac.nowcoder.com/acm/contest/548/A 来源:牛客网 题目描述 这次 Tachibana Kanade 来到了一个神奇的学校参观,她发现了一些有趣的事 ...

  6. 牛客练习赛 43 CTachibana Kanade Loves Review 最小生成树(Java版失败)

    链接:https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 Qingyu 当选了 IO ...

  7. 牛客练习赛43 Tachibana Kanade Loves Review C(最小生成树Kruskal)

    链接:https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 QingyuQingyu  ...

  8. 牛客练习赛 43 F Tachibana Kanade Loves Game 容斥原理(Java版ac)

    链接:https://ac.nowcoder.com/acm/contest/548/F 来源:牛客网 题目描述 立华奏是一个天天打比赛的萌新. 省选将至,萌新立华奏深知自己没有希望进入省队,因此开始 ...

  9. 牛客练习赛 43 CTachibana Kanade Loves Review 线性做法,贪心(Java版成功)

    链接:https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 Qingyu 当选了 IO ...

最新文章

  1. BLE Mesh(2)—— 基本术语及含义
  2. 使用mvc模式读取服务器上的文件,关于C#:如何使用asp.net MVC应用程序从服务器上的网络路径读取...
  3. 开课了撒贝宁超级计算机,从儿时的不自信,到现在的北大高材生,看看撒贝宁的开挂人生...
  4. 这不是特效也不是魔术!
  5. 2021年中国新经济企业500强发展研究报告
  6. PyPA Creating Documentation
  7. 如何给网站添加支付宝支付功能
  8. 微星主板Ubuntu16.04安装教程
  9. paraview视图vtkView
  10. c语言abs作用是什么意思,c语言中函数abs和fabs有什么区别?
  11. 中国科学院大学2019年数学分析考研试题
  12. Java TIF、JPG、PNG等图片转换
  13. MT8377 MT8389 MT6589 MT6577解析
  14. flutter版本升级
  15. 我想加入阿里,我该怎么做
  16. Vue中时间日期格式化
  17. 2012_WOW_Designing Steganographic Distortion Using Directional Filters
  18. 市盈率不足20倍 34只大盘蓝筹股尽显低估值效应
  19. pro4重影花屏 surface_【图】- 微软Surfacepro4会花屏模糊抖动怎么回事 - 厦门思明湖滨南路电脑维修 - 厦门百姓网...
  20. 继续教育计算机专业能学到东西吗,继续教育个人学习心得体会

热门文章

  1. workaround for error message Table maintenance not allowed for table XXX
  2. Touch the AppCache manifest file
  3. 如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid
  4. 自己写的一段预测双色球号码的Java代码
  5. SAP CDS view(Core Data Service)自学的一些材料和方法
  6. matlab人工势场法三维演示图,运动规划入门 | 5. 白话人工势场法,从原理到Matlab实现...
  7. 拼接 结果集_MetaQuast:评估宏基因组拼接
  8. js 将图片置灰_JS 上传一张图片让其部分变灰色
  9. 矩阵置零Python解法
  10. html非零正实数正则表达式,正数|非负数|正整数正小数和0 |金额正则表达式