题解-数值操作的期望计算问题

129 阅读2分钟

题解:数值操作的期望计算问题

一、题目背景与分析

题目描述了一个概率相关的数学期望问题,核心是在两次随机操作后,计算两个数之和的期望值。小雨每次从两个整数 ( a ) 和 ( b ) 中随机选择一个数乘以 2,经过两次操作后,我们需要计算结果之和的期望值。

数学期望是概率论的核心概念之一,用于描述随机变量可能取值的加权平均值。该题目考察了数学期望的建模、计算过程,以及对结果的综合理解。


二、题目解析与计算公式

1. 操作描述

对于两个数 ( a ) 和 ( b ):

  1. 每次随机选择一个数乘以 2(两个数被选中的概率均为 ( \frac{1}{2} ))。
  2. 连续操作两次,共产生 ( 2 \times 2 = 4 ) 种可能结果。

2. 计算过程

在数学期望中,随机变量的可能取值需要根据概率进行加权平均。本题的操作逻辑可以分为两步逐层计算:

  1. 第一步:选择一个数乘以 2
    随机选择 ( a ) 或 ( b ):
    • 选择 ( a ),结果为 ( 2a + b );
    • 选择 ( b ),结果为 ( a + 2b )。
      对这两种情况加权平均,得到第一步的期望结果:
E1=12(2a+b)+12(a+2b) E_1 = \frac{1}{2}(2a + b) + \frac{1}{2}(a + 2b)
  1. 第二步:再次随机选择一个数乘以 2
    基于第一步结果,随机选择 ( a ) 或 ( b ),构造出 4 种可能结果:
    • 第一次选 ( a ),第二次选 ( a ): ( 4a + b );
    • 第一次选 ( a ),第二次选 ( b ): ( 2a + 2b );
    • 第一次选 ( b ),第二次选 ( b ): ( a + 4b );
    • 第一次选 ( b ),第二次选 ( a ): ( 2a + 2b )。
      对这四种情况加权平均,得到第二步的期望结果:
E2=14(4a+b)+14(2a+2b)+14(a+4b)+14(2a+2b)E_2 = \frac{1}{4}(4a + b) + \frac{1}{4}(2a + 2b) + \frac{1}{4}(a + 4b) + \frac{1}{4}(2a + 2b)

简化后:

E2=7a+7b2 E_2 = \frac{7a + 7b}{2}

因此,经过两次随机操作后,两个数之和的数学期望值为:

E=E2=7a+7b2E = E_2 = \frac{7a + 7b}{2}

三、代码实现

根据上述计算过程,代码实现如下:

def solution(a: int, b: int) -> str:
    # 计算第一步的结果
    E1_a = 2 * a + b  # 第一次选择 a
    E1_b = a + 2 * b  # 第一次选择 b

    # 计算第二步的结果
    E2_a = 4 * a + b  # 第二次再选 a
    E2_b = 2 * a + 2 * b  # 第二次交替选
    E2_c = a + 4 * b  # 第二次再选 b

    # 期望计算
    result = (1/4) * (E2_a + E2_b + E2_c + E2_b)
    return f"{result:.2f}"

# 测试用例
print(solution(3, 3))  # 输出: "13.50"
print(solution(5, 7))  # 输出: "27.00"
print(solution(1, 1))  # 输出: "4.50"