#CSP202506A. 正态分布

正态分布

时间限制: 1.0 秒

空间限制: 512 MB

题目描述

对于正态分布随机变量 XN(μ,σ2)X \sim N(\mu, \sigma^2)(均值 μ\mu、标准差 σ\sigma),查表计算 P(Xn)P(X \leq n)

具体来说,我们首先需要将 XX 转换为标准正态分布 ZZ

Z=XμσZ = \frac{X - \mu}{\sigma}

那么 XnX \leq n 的概率也就等于 ZnμσZ \leq \frac{n - \mu}{\sigma} 的概率:

$$P(X \leq n) = P\left(Z \leq \frac{n - \mu}{\sigma}\right) $$

而对于服从标准正态分布的 ZZ,其小于等于某值的概率 P(Zm)P(Z \leq m) 可以通过查表得出。图 1 展示了 mm 取值从 0.000.001.491.49 的结果(步长 0.010.01),其中每列对应 mm 的百分位、每行对应 mm 的十分位和整数部分。该表可继续向下延伸,这里只展示部分结果。

img

如图 2 所示,Z1Z \leq 1 的概率即为阴影部分的面积,查看表中 1.01.0 对应行、0.000.00 对应列即可得到近似结果 0.84130.8413

img

在本题中你需要模拟上述查表的过程,处理 kk 个如下查询:对于给定的参数 μ\muσ\sigmann,计算 P(Xn)P(X \leq n) 的结果在表中的哪一行、哪一列?

其中行列下标均从 1 开始:

  • 行:0.00.0 对应第 1 行,0.10.1 对应第 2 行,依此类推……
  • 列:0.00,0.01,,0.090.00, 0.01, \cdots, 0.09 依次对应第 1、第 2 到第 10 列。

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数 kk,表示查询的个数。

接下来输入 kk 行,每行包含空格分隔的三个整数 μ\muσ\sigmann,表示一个查询。

输出格式

输出到标准输出。

每个查询输出一行,包含空格分隔的两个整数 iijj,表示查询的结果位于表中第 ii 行、第 jj 列。

4
0 1 1
2 10 127
2 50 227
5 100 350
11 1
126 1
46 1
35 6

样例 1 解释

第一个查询等价于计算 P(Z101)P\left(Z \leq \frac{1 - 0}{1}\right),如题目描述所示,查看表中 1.01.0 对应行(第 1111 行)、0.000.00 对应列(第 11 列)即可。

子任务

全部的数据满足:

  • k20k \leq 20
  • 参数 μ\muσ\sigmann 均为整数;
  • 0μn10000 \leq \mu \leq n \leq 1000
  • 1σ1001 \leq \sigma \leq 100 且标准差 σ\sigma100100 的因子。