牛客练习赛46 C 华华跟奕奕玩游戏 (期望,概率)(详解)
链接: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 华华跟奕奕玩游戏 (期望,概率)(详解)相关推荐
- 牛客练习赛46 B 华华送奕奕小礼物 (预处理前缀和,二分)
链接:https://ac.nowcoder.com/acm/contest/894/B?&headNav=acm 来源:牛客网 华华送奕奕小礼物 时间限制:C/C++ 1秒,其他语言2秒 空 ...
- 牛客练习赛46 A 华华教奕奕写几何 (简单数学)
链接:https://ac.nowcoder.com/acm/contest/894/A 来源:牛客网 华华教奕奕写几何 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K ...
- 最小生成树--牛客练习赛43-C
牛客练习赛43-C 链接: https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 ...
- 牛客练习赛43 Tachibana Kanade Loves Probability(快速幂)
链接:https://ac.nowcoder.com/acm/contest/548/B 来源:牛客网 题目描述 立华奏在学习初中数学的时候遇到了这样一道大水题: "设箱子内有 n 个球,其 ...
- 牛客练习赛43 回顾
链接:https://ac.nowcoder.com/acm/contest/548/A 来源:牛客网 题目描述 这次 Tachibana Kanade 来到了一个神奇的学校参观,她发现了一些有趣的事 ...
- 牛客练习赛 43 CTachibana Kanade Loves Review 最小生成树(Java版失败)
链接:https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 Qingyu 当选了 IO ...
- 牛客练习赛43 Tachibana Kanade Loves Review C(最小生成树Kruskal)
链接:https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 QingyuQingyu ...
- 牛客练习赛 43 F Tachibana Kanade Loves Game 容斥原理(Java版ac)
链接:https://ac.nowcoder.com/acm/contest/548/F 来源:牛客网 题目描述 立华奏是一个天天打比赛的萌新. 省选将至,萌新立华奏深知自己没有希望进入省队,因此开始 ...
- 牛客练习赛 43 CTachibana Kanade Loves Review 线性做法,贪心(Java版成功)
链接:https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 Qingyu 当选了 IO ...
最新文章
- BLE Mesh(2)—— 基本术语及含义
- 使用mvc模式读取服务器上的文件,关于C#:如何使用asp.net MVC应用程序从服务器上的网络路径读取...
- 开课了撒贝宁超级计算机,从儿时的不自信,到现在的北大高材生,看看撒贝宁的开挂人生...
- 这不是特效也不是魔术!
- 2021年中国新经济企业500强发展研究报告
- PyPA Creating Documentation
- 如何给网站添加支付宝支付功能
- 微星主板Ubuntu16.04安装教程
- paraview视图vtkView
- c语言abs作用是什么意思,c语言中函数abs和fabs有什么区别?
- 中国科学院大学2019年数学分析考研试题
- Java TIF、JPG、PNG等图片转换
- MT8377 MT8389 MT6589 MT6577解析
- flutter版本升级
- 我想加入阿里,我该怎么做
- Vue中时间日期格式化
- 2012_WOW_Designing Steganographic Distortion Using Directional Filters
- 市盈率不足20倍 34只大盘蓝筹股尽显低估值效应
- pro4重影花屏 surface_【图】- 微软Surfacepro4会花屏模糊抖动怎么回事 - 厦门思明湖滨南路电脑维修 - 厦门百姓网...
- 继续教育计算机专业能学到东西吗,继续教育个人学习心得体会
热门文章
- workaround for error message Table maintenance not allowed for table XXX
- Touch the AppCache manifest file
- 如何处理SAP gateway service使用过程中遇到的400 error - invalid key predicate type for guid
- 自己写的一段预测双色球号码的Java代码
- SAP CDS view(Core Data Service)自学的一些材料和方法
- matlab人工势场法三维演示图,运动规划入门 | 5. 白话人工势场法,从原理到Matlab实现...
- 拼接 结果集_MetaQuast:评估宏基因组拼接
- js 将图片置灰_JS 上传一张图片让其部分变灰色
- 矩阵置零Python解法
- html非零正实数正则表达式,正数|非负数|正整数正小数和0 |金额正则表达式