2018.10.31 NOIP训练 锻造(方程式期望入门题)(期望dp)

传送门
根据题目列出方程:
f i = p i ∗ ( f i − 1 + f i − 2 ) + ( 1 − p i ) ∗ ( f i + 1 + f i ) f_i=p_i*(f_{i-1}+f_{i-2})+(1-p_i)*(f_{i+1}+f_i) fi=pi(fi1+fi2)+(1pi)(fi+1+fi)
但这会牵扯到 i i i之后的状态没法做。
因此考虑如果合成失败会变成一个等级为 i − 2 i-2 i2的武器。
相当于消耗了一个等级为 i − 1 i-1 i1的武器。
因此 f i = p i ∗ ( f i − 1 + f i − 2 ) + ( 1 − p i ) ∗ ( f i − 1 + f i ) f_i=p_i*(f_{i-1}+f_{i-2})+(1-p_i)*(f_{i-1}+f_i) fi=pi(fi1+fi2)+(1pi)(fi1+fi)
然后移项:
p i f i = f i − 1 + p i ∗ f i − 2 p_if_i=f_{i-1}+p_i*f_{i-2} pifi=fi1+pifi2
所以 f i = f i − 1 p i + f i − 2 f_i=\frac{f_{i-1}}{p_i}+f_{i-2} fi=pifi1+fi2
代码

你可能感兴趣的:(#,dp,#,期望dp)