解题博客 | 汤的分配概率问题:动态规划 + 缩维优化的经典应用
🧩 题目描述
有两种类型的汤,分别是 汤A 和 汤B,它们的初始体积均为 n 毫升。在每一轮中,我们会以相等的概率(即 0.25)从以下四种操作中选择一种来分配汤:
- 提供 100ml 的汤A 和 0ml 的汤B
- 提供 75ml 的汤A 和 25ml 的汤B
- 提供 50ml 的汤A 和 50ml 的汤B
- 提供 25ml 的汤A 和 75ml 的汤B
在任何时刻,如果当前的汤量不足以执行所选择的操作,就尽可能多地提供剩余的汤量。分配过程一直持续,直到 至少一种类型的汤被分配完。
我们关心的不是具体的分配过程,而是这样一个概率:
汤A先被分配完的概率 + 汤A和汤B同时被分配完的概率的一半。
返回这个概率的数值,允许的误差为 1e-5。
🧠 解题思路分析
该问题是一个典型的 概率型动态规划问题,因为操作具有不确定性,而我们要计算某种特定终止状态发生的概率。
核心思想:
我们将问题建模为一个状态转移图,其中每个状态由剩余的 (a, b)
表示。我们的目标是从状态 (n, n)