Space Station - Problem
思路
你会受到 n 次攻击,第 i 次攻击的伤害为 ai,其中 a 是一个 1∼n 的排列。你可以让攻击发生并付出 ai 的代价,或者使用 m 的代价让伤害不发生。求在最优策略下期望值的最小值。
其中数据范围满足,1≤n,m≤100。
思路
设 fi,j 表示剩下 i 个数且它们的和为 j 的方案数,f 数组的转移十分显然:
∀i∈[1,n]∩Z,j∈[1,i]∩Z,k∈[ai,200⋅i]∩Z fj,k←fj,k+fj−1,k−ai
对于最优策略,显然在选择到 p 的位置时,如果 n−p+2i=p+1∑nai>m 选择使用防御,反之吃下 ai 的代价。
根据期望的定义,可以得到答案为:
i=1∑ni×Cnij=i∑200⋅ifi,j×min(j,i×m)