#P3871. 第2题-SMART 磁盘检测数据的特征列统计
-
1000ms
Tried: 1253
Accepted: 173
Difficulty: 7
所属公司 :
华为
时间 :2025年10月10日(留学生)-AI方向
第2题-SMART 磁盘检测数据的特征列统计
解题思路
-
输入解析:从标准输入读取一整行(或多行拼接)数字序列。每 19 个数字为一个样本,共有 N 个样本。将数据按列重排,得到 19 列,每列长度为 N。
- Python:优先尝试
literal_eval解析为列表,失败则按空白分割;同时兼容逗号分隔。 - C++/Java:读取整段文本,替换换行/逗号为空格后用输入流解析为
double。
- Python:优先尝试
-
统计指标(逐列计算,采用总体定义,即分母为 n):
- 均值:μ=n1∑xi
题目内容
在磁盘检测中,SMART 数据集记录了大量存储设备运行指标。本题给出一组 SMART 样本,要求对每一维特征分别计算统计量。
每个样本由 19 个浮点数组成,按固定顺序依次表示以下特征:
0 时间戳(Unix 时间戳,秒级或毫秒级)
1 容量
2 已用容量
3 空闲容量
4 读取操作计数
5 写入操作计数
6 读取吞吐量
7 写入吞吐量
8 读取延迟
9 写入延迟
10 读取错误计数
11 写入错误计数
12 硬盘温度
13 转速(RPM)
14 读取带宽
15 写入带宽
16 读取队列深度
17 写入队列深度
18 硬盘健康状态
将输入中的所有数值按出现顺序重排成 N 行、19 列的矩阵,每行对应一个样本,每列对应一种特征。设某一列的元素为 x1,x2,…,xN,对该列依次计算以下 8 个统计指标:
- 均值:μ=N1∑i=1Nxi
- 最大值:max(x1,…,xN)
- 最小值:min(x1,…,xN)
- 极差:ptp=max(x1,…,xN)−min(x1,…,xN)
- 方差:σ2=N1∑i=1N(xi−μ)2
- 标准差:σ=σ2
- 偏度:skew=N1∑i=1N(xi−μ)3/σ3
- 峰度:kurt=N1∑i=1N(xi−μ)4/σ4−3
其中方差和标准差采用总体统计定义,分母为 N。若某列的标准差为 0,则该列的偏度和峰度均视为 0。
输入描述
输入为一行,包含若干个浮点数,空格分隔。
所有数值按出现顺序依次分组,每连续 19 个数值构成一个样本,第 k 个数值对应第 k 个特征。保证读取到的数值总数为 19 的倍数。
输出描述
输出一行,按特征编号从 0 到 18 的顺序,依次输出每个特征的 8 个统计量:均值、最大值、最小值、极差、标准差、方差、偏度、峰度。
具体输出顺序为:
mean0 max0 min0 ptp0 std0 var0 skew0 kurt0 mean1 … kurt18
相邻数值之间用一个空格分隔,不输出任何名称或下标。每个数值保留 2 位小数。
样例1
输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
输出
1.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 2.00 2.00 2.00 0.00 0.00 0.00 0.00 0.00 3.00 3.00 3.00 0.00 0.00 0.00 0.00 0.00 4.00 4.00 4.00 0.00 0.00 0.00 0.00 0.00 5.00 5.00 5.00 0.00 0.00 0.00 0.00 0.00 6.00 6.00 6.00 0.00 0.00 0.00 0.00 0.00 7.00 7.00 7.00 0.00 0.00 0.00 0.00 0.00 8.00 8.00 8.00 0.00 0.00 0.00 0.00 0.00 9.00 9.00 9.00 0.00 0.00 0.00 0.00 0.00 10.00 10.00 10.00 0.00 0.00 0.00 0.00 0.00 11.00 11.00 11.00 0.00 0.00 0.00 0.00 0.00 12.00 12.00 12.00 0.00 0.00 0.00 0.00 0.00 13.00 13.00 13.00 0.00 0.00 0.00 0.00 0.00 14.00 14.00 14.00 0.00 0.00 0.00 0.00 0.00 15.00 15.00 15.00 0.00 0.00 0.00 0.00 0.00 16.00 16.00 16.00 0.00 0.00 0.00 0.00 0.00 17.00 17.00 17.00 0.00 0.00 0.00 0.00 0.00 18.00 18.00 18.00 0.00 0.00 0.00 0.00 0.00 19.00 19.00 19.00 0.00 0.00 0.00 0.00 0.00
说明
输入只有一个样本,即 N=1。对任意一列,唯一观测值为 x1。均值 μ=x1,最大值和最小值均为 x1,极差 max−min=0。总体方差 σ2=11(x1−μ)2=0,标准差 σ=0。因为标准差为 0,偏度和峰度按题意视为 0。因此每一列均输出 该列值、该列值、该列值、0、0、0、0、0,保留两位小数后即为输出。
样例2
输入
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0
输出
1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
说明
输入包含 2 个样本,即 N=2。对于两个样本相同的列,例如特征 2、4 等,两个值均为 0,均值、最大值、最小值都是 0,极差 0,总体方差和标准差均为 0,偏度、峰度按题意取 0。
对于两个值不同的列,例如特征 0、1、3 等,两个值为 0 和 2。均值 μ=(0+2)/2=1,最大值 2、最小值 0、极差 2。总体方差 σ2=2(0−1)2+(2−1)2=1,标准差 σ=1。此时两个偏差 (−1) 与 1 的立方和为 0,所以偏度为 0;两个偏差的四次方均为 1,于是峰度 2(0−1)4+(2−1)4/14−3=1−3=−2。故非零方差列输出 1.00 2.00 0.00 2.00 1.00 1.00 0.00 -2.00,零方差列输出 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00。按特征编号顺序拼接后即为输出。
样例3
输入
1700200000.0 2048.5 1024.25 1024.25 1234.5 987.25 155.75 144.5 2.25 2.75 0.0 0.0 36.5 7200.0 210.25 198.75 1.25 1.05 1.0 1700200060.0 2048.5 1200.75 847.75 980.25 1100.5 140.25 160.75 3.5 2.25 1.0 0.0 39.25 7200.0 195.5 220.25 2.75 1.25 0.9 1700200120.0 2048.5 900.5 1148.0 1500.75 700.25 175.5 120.0 1.75 4.25 0.0 2.0 34.75 7200.0 240.0 170.5 0.75 3.5 1.0 1700200180.0 2048.5 1500.125 548.375 760.5 1340.75 110.125 190.875 5.0 1.5 3.0 1.0 42.0 7200.0 160.75 260.5 4.5 0.5 0.7 1700200240.0 2048.5 1100.625 947.875 1300.0 1000.0 165.0 150.0 2.0 3.0 0.0 0.0 37.0 7200.0 225.0 205.0 1.5 2.0 1.0
输出
1700200120.00 1700200240.00 1700200000.00 240.00 84.85 7200.00 0.00 -1.30 2048.50 2048.50 2048.50 0.00 0.00 0.00 0.00 0.00 1145.25 1500.12 900.50 599.62 202.76 41110.29 0.68 -0.67 903.25 1148.00 548.38 599.62 202.76 41110.29 -0.68 -0.67 1155.20 1500.75 760.50 740.25 258.09 66611.18 -0.26 -1.20 1025.75 1340.75 700.25 640.50 206.35 42581.62 -0.07 -0.67 149.32 175.50 110.12 65.38 22.76 518.22 -0.66 -0.84 153.22 190.88 120.00 70.88 23.08 532.91 0.27 -0.72 2.90 5.00 1.75 3.25 1.21 1.46 0.78 -0.93 2.75 4.25 1.50 2.75 0.91 0.82 0.35 -0.78 0.80 3.00 0.00 3.00 1.17 1.36 1.15 -0.33 0.60 2.00 0.00 2.00 0.80 0.64 0.84 -0.92 37.90 42.00 34.75 7.25 2.50 6.27 0.47 -1.02 7200.00 7200.00 7200.00 0.00 0.00 0.00 0.00 0.00 206.30 240.00 160.75 79.25 27.18 738.49 -0.51 -0.90 211.00 260.50 170.50 90.00 29.54 872.42 0.42 -0.71 2.15 4.50 0.75 3.75 1.35 1.81 0.77 -0.86 1.66 3.50 0.50 3.00 1.04 1.08 0.79 -0.68 0.92 1.00 0.70 0.30 0.12 0.01 -1.15 -0.33