会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员,或
购买
该题目所属题库
,可解锁完整内容。
解题思路
两人轮流取当前区间的两端,总分固定,后手最小化先手得分等价于双方都最大化自己的得分。用区间 DP。
- 设 dp[i][j] 表示轮到当前玩家时,从 a[i..j] 能拿到的最大得分。
- 长度为 1 时 dp[i][i]=a[i]。
- 区间和记为 s。取左端后对手在剩余区间得 dp[i+1][j],取右端后对手得 dp[i][j−1]。当前得分等于 s 减去对手得分,因此dp[i][j]=s−min(dp[i+1][j], dp[i][j−1])