ABC314E - Work or Rest

ABC314E - Work or Rest

1. 状态定义

\(dp[i]\) 表示:当前还需要 \(i\) 分,为了达到目标(剩余需求 \(\le 0\)),所需的最小期望花费。

  • 目标:求 \(dp[M]\)
  • 边界\(dp[0] = 0\)
  • 性质:对于任意 \(x < 0\),视作 \(dp[0]\)

2. 原始期望方程

假设我们当前还需要 \(i\) 分,决定转动某个特定的轮盘。该轮盘的属性如下:

  • 费用\(C\)
  • 扇区总数\(P\)
  • 扇区点数\(S_1, S_2, \dots, S_P\)
  • 0 点数量:其中有 \(Z\) 个扇区的点数为 0。

根据期望值的定义:\(\text{总期望} = \text{本次费用} + \sum (\text{概率} \times \text{转移后的期望})\)

代入具体变量:\(\displaystyle dp[i] = C + \sum_{k=1}^{P} \left( \frac{1}{P} \times dp[\max(0, i - S_k)] \right)\)

提取公因式 \(\frac{1}{P}\)\(\displaystyle dp[i] = C + \frac{1}{P} \sum_{k=1}^{P} dp[\max(0, i - S_k)]\)


3. 分离 0 点(自环处理)

在求和项 \(\displaystyle \sum dp[i - S_k]\) 中,我们将结果分为两类:

  1. 转到 0 点:发生 \(Z\) 次。此时还需要的分数 \(i\) 不变,状态仍为 \(dp[i]\)
  2. 转到非 0 点:发生 \(P-Z\) 次。此时状态变为更小的 \(dp[i - S_k]\)

将方程展开:\(\displaystyle dp[i] = C + \frac{1}{P} \left( \underbrace{Z \cdot dp[i]}_{\text{0点部分}} + \underbrace{\sum_{S_k > 0} dp[\max(0, i - S_k)]}_{\text{非0点部分}} \right)\)


4. 代数变换求解 \(dp[i]\)

我们需要解出 \(dp[i]\),将方程右边的含 \(dp[i]\) 项展开并移到左边。

Step 1: 展开括号 \(\displaystyle dp[i] = C + \frac{Z}{P} dp[i] + \frac{1}{P} \sum_{S_k > 0} dp[\max(0, i - S_k)]\)

Step 2: 移项 \(\displaystyle dp[i] - \frac{Z}{P} dp[i] = C + \frac{1}{P} \sum_{S_k > 0} dp[\max(0, i - S_k)]\)

Step 3: 提取左边公因式 \(\displaystyle dp[i] \left( 1 - \frac{Z}{P} \right) = C + \frac{1}{P} \sum_{S_k > 0} dp[\max(0, i - S_k)]\)

Step 4: 通分左边括号 \(\displaystyle dp[i] \left( \frac{P - Z}{P} \right) = C + \frac{1}{P} \sum_{S_k > 0} dp[\max(0, i - S_k)]\)

Step 5: 求解 \(dp[i]\) 两边同时乘以 \(\displaystyle \frac{P}{P - Z}\)\(\displaystyle dp[i] = \frac{P}{P - Z} \left( C + \frac{1}{P} \sum_{S_k > 0} dp[\max(0, i - S_k)] \right)\)

Step 6: 化简右边将系数乘入括号内:

  • 第一项:\(\displaystyle C \cdot \frac{P}{P - Z}\)
  • 第二项:\(\displaystyle \frac{1}{P} (\dots) \cdot \frac{P}{P - Z} = \frac{1}{P-Z} (\dots)\)\(P\) 被约分消去)

合并同分母,得到最终公式:

\(\displaystyle dp[i] = \frac{C \cdot P + \sum_{S_k > 0} dp[\max(0, i - S_k)]}{P - Z}\)

这就是代码中使用的转移方程:f[i] = (cost * p + futexpect) / (p - znt);

posted @ 2025-12-31 14:43  小林琴奈  阅读(8)  评论(0)    收藏  举报