A21672.博弈论与概率统计
NOI/NOI+/CTSC
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
Alice 和 Bob 在玩一个双人游戏。每一轮中,Alice 有 p 的概率胜利,1−p 的概率失败,不会出现平局。
双方初始时各有 0 分,当一个人胜利的时候,他会获得一分,失败则扣掉一分。遗憾的是,博弈论世界的人目前是无法理解负数的,因此,如果某个人输掉一轮比赛的时候他只有 0 分,那么他就不会被扣分(对方会照常加一分)。游戏一共要进行 N+M 轮,Alice 想请你帮她算算在游戏结束时她的得分的数学期望。
“这算啥,我小 L 分分钟搞定!”。比小 L 更熟练的你当然也是随手就算出来了,但就在你打算告诉 Alice 答案之前,博弈论世界之神——temporaryDO 出现了,他给大家带来了一个重要信息:这 N+M 轮游戏中, Alice 恰好赢了 N 轮!
熟知条件概率那套理论的你立刻注意到,你需要修改自己的计算方法来得到正确的答案了。
为了避免精度问题,请将结果对 109+7 取模。即,我们的数据保证答案是一个有理数 qp,且有 109+7∤q,你只需要找到一个整数 x∈[0,109+7) 使得 qx≡p(mod109+7) 即可。
输入格式
输入的第一行包含两个正整数 T, P′,其中 T 表示数据组数,1000P′ 表示 p ,即 Alice 在每轮游戏中的获胜概率。
接下来 T 行,每行两个非负整数 N,M,表示一组数据。
输出格式
输出 T 行,每行一个整数,表示对应数据的答案。
输入输出样例
输入#1
3 500 1 1 2 3 4 4
输出#1
500000004 200000002 728571435
说明/提示
每一轮游戏 Alice 均有 21 的概率胜利。
- 对于第一组数据,Alice 的胜利可能在第一轮或第二轮,并且概率相等。若她在第一轮胜利,则最终得分为 0,否则她的得分为 1。故期望为 21,验证发现 2×500000004≡1(mod109+7)。
- 对于第二组数据,所求期望为 53。
- 对于第三组数据,所求期望为 7093。
【数据范围与约定】
- 对于 10% 的数据,N,M,T≤50 。
- 对于另外 20% 的数据,N,M,T≤2000 。
- 对于另外 20% 的数据,N,M≤105,∣N−M∣≤200,T≤2×105 。
- 对于另外 20% 的数据,N,M,T≤5×104 。
- 对于 100% 的数据,N+M,T≤2.5×105, 0<P′<1000 。