符号说明

本文中我们设

  • $C_0$:总血量

  • $C$:当前血量

  • $A_n$:第 n 秒时刻大招被动回复的血量

  • $S_n$:前 n 秒内由大招被动回复的血量

文章内只考虑由此技能回复的血量

数学分析

由于在游戏中,时间以秒结算,是离散的,故我们以秒为单位进行分析。

假设在某一时刻明世隐当前血量为 $C$,此时大招被动触发,该时刻记为 $0$ 时刻,则第 $1$ 秒内,其回复的血量为:

$$A_1=0.05 (C_0-C)$$

而在第 $n$ 秒时,设其已经回复了 $S_n$ 的血量,则第 $n+1$ 秒时其会回复的血量为:

$$A_{n+1}=0.05(C_0-C-S_n)$$

再取 $A_n=0.05(C_0-C-S_n-1)$

作差得 $A_{n+1}=0.95A_n$

则 $A_n$ 服从等比数列,得到

$$A_n=0.95^nA_1=0.95^n*0.05(C_0-C)$$

代入得,

$S_n=(1-0.95^n)/(1-0.95)A_1=(1-0.95^n)/(1-0.95)*0.05(C_0-C)$

记 $C(n)$ 为 $n$ 时刻的血量,即 $C(n)=C+ S_n$

代入得, $C(n)=C+S_n=C+(1-0.95^n)*(C_0-C)$

应用分析

有效恢复血量分析

由于最小恢复量为 $1$,则有在 $A_n=0.95^n*0.05(C_0-C)\leq 1$ 时恢复达到最大,

即 $0.95^n(C_0-C)≤20$

此时其血量为:

$C(n)=C+S_n$

$=C+(1-0.95^n)(C_0-C)$

$=C+C_0-C-0.95^n(C_0-C)$

$=C_0-0.95^n(C_0-C)$

$\leq C_0-20$

也就是说,血量恢复到 $C_0-20$ 时,即比最大血量少 $20$ 时,恢复将无意义。

恢复血量时间分析

当其当前血量为 $C$ 时,设我们预期恢复到最大血量的 $k$ 倍 $(0\leq k\leq 1)$,即为 $C=k C_0$ ,该过程需要至少 $n$ 秒:

由于血量至少比当前要大,则 $k C_0\geq C$

于是 $C/C_0\leq k \leq 1$

解不等式 $C(n)\geq kC*C_0$

即 $C+(1-0.95^n)*(C_0-C) ≥kC_0$

得 $0.95^n\leq (1-k)*C_0/(C_0-C)$

解得 $n\ast In(0.95) \leq In((1-k)*C_0) / (C_0-C)$

而由数值 $In(0.95)~~-1/19.5$,得:

$$n\geq 19.5\ast In((C_0-C)/((1-k)C_0))$$

实践分析

在血量极少时,由公式 $n\geq 19.5In((C_0-C)/((1-k)C_0))$

在 $c\rightarrow 0$ 时,得到 $n\geq 19.5\ast In(1/(1-k))$

  • 令 $k\rightarrow 0$,即血量恢复到最大值,此时 $n->oo$

即血量永远只能趋向于最大,而达不到。

  • 如果我们只需要恢复到最大血量的 $90%$,即 $k=0.9$

代入得 $n≥19.5In(1/(1-0.9))=19.5In(10)\approx 44.9$

也就是,无论开始时血量有多低,在 $45$ 秒后,血量至少达到最大血量的 $90%$

应用

假设某时刻明世隐血量仅为最大血量的 20%,现在大招被动开启,问多长时间过后恢复到最大血量的一半?

解:由公式 $n≥19.5*In((C_0-C)/((1-k)C_0))$

代入 $C=0.2C_0$, $k=0.5$

解得 $n>=9.16s$

则 $9.16$ 秒后血量恢复到最大血量的一半。