luogu#P3779. [SDOI2017] 龙与地下城

    ID: 7807 远端评测题 1000~4000ms 500MiB 尝试: 1 已通过: 0 难度: 7 上传者: 标签>2017各省省选山东Special JudgeO2优化期望极限积分

[SDOI2017] 龙与地下城

题目描述

小 Q 同学是一个热爱学习的人,但是他最近沉迷于各种游戏,龙与地下城就是其中之一。

在这个游戏中,很多场合需要通过掷骰子来产生随机数,并由此决定角色未来的命运,因此骰子堪称该游戏的标志性道具。

骰子也分为许多种类,比如 44 面骰、66 面骰、88 面骰、1212 面骰、2020 面骰,其中 2020 面骰用到的机会非常多。当然,现在科技发达,可以用一个随机数生成器来取代真实的骰子,所以这里认为骰子就是一个随机数生成器

在战斗中,骰子主要用来决定角色的攻击是否命中,以及命中后造成的伤害值。举个例子,假设现在已经确定能够命中敌人,那么 YdXYdX(也就是掷出 YYXX 面骰子之后所有骰子显示的数字之和)就是对敌人的基础伤害。在敌人没有防御的情况下,这个基础伤害就是真实伤害。

众所周知,骰子显示每个数的概率应该是相等的,也就是说,对于一个 XX 面骰子,显示 0,1,2,,X10, 1, 2,\dots ,X−1 中每一个数字的概率都是 1X\dfrac {1}{X}

更形式化地说,这个骰子显示的数 WW 满足离散的均匀分布,其分布列为

HH 00 11 22 \cdots X1X-1
PP 1X\dfrac {1}{X} \cdots 1X\dfrac {1}{X}

除此之外还有一些性质:

  • WW一阶原点矩期望)为
$$v_1(W)=E(W)=\sum_{i=0}^{X-1}i\cdot P(W=i)=\frac {X-1}{2} $$
  • WW二阶中心矩方差)为
$$\mu_2(W)=E((W-E(W))^2)=\sum_{i=0}^{X-1}(i-E(W))^2\cdot P(W=i)=\frac {X^2-1}{12} $$

言归正传,现在小 Q 同学面对着一个生命值为 A 的没有防御的敌人,能够发动一次必中的 YdXYdX 攻击,显然只有造成的伤害不少于敌人的生命值才能打倒敌人。但是另一方面,小 Q 同学作为强迫症患者,不希望出现 overkill,也就是造成的伤害大于 BB 的情况,因此只有在打倒敌人并且不发生 overkill 的情况下小 Q 同学才会认为取得了属于他的胜利

因为小 Q 同学非常谨慎,他会进行 1010 次模拟战,每次给出敌人的生命值 AA以及 overkill 的标准 BB,他想知道此时取得属于他的胜利的概率是多少,你能帮帮他吗?

输入格式

第一行是一个正整数 TT,表示测试数据的组数,

对于每组测试数据:

第一行是两个整数 X,YX,Y,分别表示骰子的面数以及骰子的个数;

接下来 1010 行,每行包含两个整数 A,BA,B,分别表示敌人的生命值 AA 以及 overkill 的标准 BB

输出格式

对于每组测试数据,输出 1010 行,对每个询问输出一个实数,要求绝对误差不超过 0.0135790.013\, 579

也就是说,记输出为 aa,答案为 bb,若满足 ab0.013579|a-b|\leq 0.013\,579,则认为输出是正确的。

1
2 19
0 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
0.000002
0.000038
0.000364
0.002213
0.009605
0.031784
0.083534
0.179642
0.323803
0.500000

提示

对于 100%100\% 的数据,T10T \leq 102X202 \leq X \leq 201Y2000001 \leq Y \leq 2000000AB(X1)Y0 \leq A \leq B \leq (X-1)Y

保证满足 Y>800Y > 800 的数据不超过 22 组。

测试点编号 XX YY 备注
11 20\le 20 40\le 40 XY107X^Y\le 10^7
242\sim 4 1600\le 1\, 600 -
5105\sim 10 8000\le 8\, 000
11,1211,12 =2=2 200000\le 200\, 000
132013\sim 20 20\le 20